caracteres especiales ajax postales
-
21-09-2019 - |
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?
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:
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.