Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2013, 20:11
chsc
 
Fecha de Ingreso: febrero-2010
Mensajes: 132
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación AJAX: prop. onreadystatechange antes del metodo open ???

Hice un ejercicio en el cual una petición en proceso muestra una imagen "loading..." mientras llega al estado 4.

Tengo un pequeño inconveniente en la primer peticion: la imagen de loading no aparece. en siguientes peticiones funciona OK.

Detecté como corregir el problema pero no entiendo el porque:
Si seteo la funcion de callback antes de configurar el metodo open funciona OK. Vice versa no.

asi me funciona OK:

xhr.onreadystatechange = callback;
xhr.open(....)

asi no:

xhr.open(....)
xhr.onreadystatechange = callback;

pense que era indistinto este orden... ya veo que no es asi.
alguien sabe a que se debe esto ??


mi funcion callback:

function callback()
{

if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
document.getElementById('respuesta').innerHTML = xhr.responseText;
}
}
else
{
document.getElementById('respuesta').innerHTML = '<img src="loading.gif" alt="cargando..." />';
}

}