javascript - noconflict - jquery change title page
Escapar de los datos de jQuery enviados a través de POST (3)
Lo mejor sería usar un objeto para los datos.
jQuery.post("yourScript.php", {
varx: X,
vary: Y
});
o
jQuery.ajax({
url: "yourScript.php",
type: "POST",
data: ({varx: X, vary: Y}),
dataType: "text",
success: function(msg){
alert(msg);
}
}
);
También puede usar jQuery''s serialize () para obtener los datos de su formulario como una cadena de consulta serializada:
var data = jQuery(formSelector).serialize();
El método .serialize () crea una cadena de texto en notación estándar codificada en URL. Opera en un objeto jQuery que representa un conjunto de elementos de formulario. Los elementos de formulario pueden ser de varios tipos.
Mucho más bonito en mi opinión :-)
Estoy usando jQuery.ajax para extraer datos de formularios de una página y enviarlos a mi base de datos (a través de otra página de PHP).
La información del formulario es recogida por:
var X=$(''#div1'').val();
var Y=$(''#div2'').val();
Esto se utiliza para construir la cadena POST, es decir,
var data=''varx=''+X+''&vary=''+Y;
Obviamente, esto es problemático si se usa un carácter "ampersand". ¿Cuál es el mejor método para escapar de las variables, en particular para que el usuario pueda usar un símbolo comercial (&) con seguridad?
¡Gracias!
Puedes usar la función de escape de JavaScript
var data=''varx=''+escape(X)+''&vary=''+escape(Y);
encodeURIComponent
hará lo que está buscando.
var X = encodeURIComponent($(''#div1'').val());
var Y = encodeURIComponent($(''#div2'').val());
Esto codificará todos los caracteres potencialmente inseguros.