Pregunta

¿Cómo pasar una cadena que contiene una gran personajes como '%' y '&' a mi página php a través del poste ajax?

En otras palabras cómo Javascript-codificarlos y php-decodificarlos?

¿Fue útil?

Solución

encodeURIComponent() la función de JavaScript se puede utilizar para escapar de cualquiera de esos personajes, ya sea en las llaves o los valores.

PHP recibir y decodificar de forma automática en la matriz $_POST.

El formato de los datos debe estar en formato de cadena de consulta, en concreto:

Content-Type: application/x-www-form-urlencoded

Por ejemplo:

Name=Joe&Age=23&City=Altoona

Si utiliza encodeURIComponent() en cada tecla y cada valor, y luego unirlas con =, y agruparlos por &, usted no tendrá ninguna otra cuestión.

Otros consejos

Para codificar en JavaScript, utilice encodeURI y encodeURIComponent

http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp


PHP Decode:

http://php.net/manual/en/function.urldecode.php

En realidad no es necesario para codificar o decodificar algo, si se utiliza el parámetro POST en el método de envío de XMLHttpRequest. Sólo GET necesidades tal y codificación, ya que utiliza campo URI. Usted debe tener cuidado al usar estos datos en peticiones SQL. Cuidado de las inyecciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top