Usando http.send() ajax

if(document.getElementById(callerName).checked) {
    //alert(callerName);        
    var poststr = "field=" + escape(encodeURI(callerName)) +
      "&op=add" + "&nocache=" + nocache;
}
else {
    //alert(callerName);
    var poststr = "field=" + escape(encodeURI(callerName)) + 
      "&op=del" + "&nocache=" + nocache;
}
http.send(poststr);

Cuando recibo el $_POST['field'] obtengo '% 20' donde hay espacios ... ¿alguna solución para obtener exactamente la cadena?

preguntado el 03 de mayo de 12 a las 19:05

2 Respuestas

PHP:

$field = urldecode($_POST['field']);

contestado el 03 de mayo de 12 a las 19:05

Estás escapando dos veces de tus datos usando ambos escape y encodeURI. Además, te recomiendo que uses encodeURIComponent en lugar de. Intenta cambiar a esto:

var poststr = "field=" + encodeURIComponent(callerName) + 
  "&op=add&nocache=" + nocache;

contestado el 04 de mayo de 12 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.