Estoy tratando de pasar un dataString a una llamada ajax usando JQuery. En la llamada, construyo los parámetros get y luego los envío a la página php en el extremo receptor. El problema es que la cadena de datos tiene signos de unión en ellos y el validador de HTML estricto está bloqueando.¿Cómo puedo escapar un ampersand en una cadena de javascript para que la página valide estrictamente?
Aquí está el código:
$(document).ready(function(){
$("input#email").focus();
$('#login_submit').submit(function(){
var username = $('input#email').val();
var password = $('input#password').val();
var remember = $('input#remember').attr("checked");
var dataString = "email="+username+"&password="+password+"&remember="+remember;
$.post('login.php', dataString, function(data) {
if (data == 'Login Succeeded.') {
location.reload(true);
} else {
$("input#email").focus();
$("#login_msg").html(data).effect("pulsate", {times: 2}, 1000);
}
});
return false;
});
});
y aquí es un ejemplo del mensaje de validación: no puede generar identificador de sistema para la entidad "contraseña" en general.
var dataString = "email="+username+"&password="+password+"&remember="+rememb…
(en el validador de la "p" después de la primera ampersand se marca roja que indica el punto del fallo).
Eso. O tal vez use \ u0026 (creo que ese es el código para &) – Strelok
Eso fue perfecto. La primera respuesta no funcionó, pero la segunda sí. ¡Gracias por la ayuda! –