Saludos!
Espero me puedan ayudar con este tema, que está algo complicado para mi...
Tengo una función AJAX que ha funcionado correctamente por años y está implementada en todo un sistema web.
Resulta que hace poco nos cambiamos de servidor y posee algunas diferencias de caracteres, lo que nos dió algunos problemas que ya hemos solucionado, pero a la vez ha aparecido uno nuevo y esta vez tiene que ver con Javascript.
Cuando completo un formulario y presiono el botón de enviar, los caracteres como tildes o eñes no se muestran correctamente.
Este es un resumen de la funcion AJAX que uso:
Código Javascript
:
Ver originalfunction GET_ajax(http,div_name,frm_name) {
var GET_xmlhttp = false;
var frm = false
var url = "";
try { GET_xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { GET_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { GET_xmlhttp = new XMLHttpRequest(); }
catch (e) { GET_xmlhttp = false; }}}
if (!GET_xmlhttp) return null;
frm = document.getElementById(frm_name);
url = "frm_name=" + frm_name;
for (i = 0; i < frm.elements.length; i++) {
url = url + "&" + frm.elements[i].name + "=" + escape(frm.elements[i].value);
}
GET_xmlhttp.open("GET", http + ".php?" + url, true);
GET_xmlhttp.setRequestHeader('Content-type', "application/x-www-form-urlencoded; charset=utf-8");
GET_xmlhttp.onreadystatechange = function() {
if (GET_xmlhttp.readyState == 4) {
// Aqui muestro el contenido de GET_xmlhttp en el elemento div_name
}
}
GET_xmlhttp.send(null);
return false;
}
el problema lo estoy teniendo con la variable "url" que lleva una cadena get, si pongo un alert de esta variable obtengo algo como esto cuando envío la palabra señor:
frm_name=form_main&mail=Se%F1or%20&action=save&but ton=Guardar
este valor se envía y php no puede leerla correctamente. lo extraño es que antes funcionaba bien, no se me ocurre que pueda estar saliendo mal, agradecería cualquier ayuda!
Gracias