Hola a todos, estoy aprendiendo AJAX. Tengo un código que toma los datos del usuario y realiza la petición a un archivo php. El problema es que con Firefox (version 4) no se ejecuta la funcion de respuesta.
( las instrucciones comienzan con: onClick="GO('asd.php')" )
Código:
<script>
function GO(direccion) {
//Creando el objeto XHR
miXHR = crearXHR();
//PREPARARLO y PREPARAR FORM
miXHR.open('POST', direccion, true);
miXHR.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//FUNCION RESPUESTA
miXHR.onReadyStateChange = function() {
alert('funcion de respuesta');
var divr = document.getElementById('divr');
if (miXHR.readyState==4) {
divr.innerHTML = 'Completado. ' + miXHR.responseText;
}
else
{
divr.innerHTML = 'Cargando...';
}
}
//ENVIO
miXHR.send(datosform());
}
function crearXHR() {
var obXHR= null;
if (window.XMLHttpRequest) {var obXHR = new XMLHttpRequest();} else {
if (window.ActiveXObject) {var obXHR = new ActiveXObject('Microsoft.XMLHTTP');} }
return obXHR;
}
function datosform() {
//[aca va una parte del codigo en donde se recogen los datos del formulario]
alert(cadena);
/*aca la cadena queda: id=29&motivo=esta loco&sino=2&vencimiento=1992-01-01*/
return cadena;
}
</script>
Como verán:
miXHR.onreadyStateChange = function() {bla bla bla}
ese bla bla bla se ejecuta en IE6, pero no en Firefox.
He intentado tambien:
miXHR.onreadyStateChange = respuesta;
function respuesta() {bla bla bla}
pero tampoco se ejecuta.
Algun consejo? Gracias por leer.