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?

Foi útil?

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:

http://php.net/manual/en/function.urldecode.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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top