Personagens especiais do Ajax Post
-
21-09-2019 - |
Pergunta
Como faço para passar por caracteres grandes que contêm caracteres como '%' e '&' para minha página PHP através do Ajax Post?
Em outras palavras, como JavaScript-Encode-os e decodificá-los Php?
Solução
a encodeURIComponent()
A função JavaScript pode ser usada para escapar de qualquer um desses caracteres nas chaves ou nos valores.
PHP receberá e decodificará automaticamente no $_POST
variedade.
O formato dos dados deve ser o formato da string de consulta, especificamente:
Content-Type: application/x-www-form-urlencoded
Por exemplo:
Name=Joe&Age=23&City=Altoona
Se você usar encodeURIComponent()
em cada chave e cada valor, junte -se a eles com =
, e agrupe -os por &
, você não terá mais problemas.
Outras dicas
Para codificá -los em JavaScript, use Encodeuri e Encodeuricomponent
http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp
Decodificar php:
Na verdade, você não precisa codificar ou decodificar algo, se você usar o parâmetro post no método de envio do xmlHttPrequest. Somente as necessidades e a codificação, pois usa o campo URI. Você deve ter cuidado ao usar esses dados nas solicitações SQL. Cuidado com injeções.