Buenas,
Tengo una duda que siempre me ha estado mareando, el tema es que me gustaría hacer una función en Ajax que me fuese devolviendo datos, es decir, tengo un proceso muy largo de importación de datos mediante ficheros XML y el problema es que no puedo ir dándole respuestas al usuario, la función Ajax es esta:
Código PHP:
function iniciasincroauto(mayorista){
var ajax1=nuevoAjax(); // Esta función crea el objeto de Ajax
document.getElementById("botonsincroauto").disabled=true;
document.getElementById("divbotong").innerHTML="<center><img src='/img/general/cargando_grande.gif' align='absmiddle'> Cargando, espere...</center>";
ajax1.open("GET", "/ajax/importa.asp?clase=guardaauto&mayorista="+mayorista, true);
ajax1.onreadystatechange=function()
{
if (ajax1.readyState==3)
{
document.getElementById("areaproceso").value=unescape(ajax1.responseText);
}else if(ajax1.readyState==4){
if(ajax1.status==200){
document.getElementById("botonsincroauto").disabled=false;
document.getElementById("divbotong").innerHTML="";
document.getElementById("articulosnuevosg").innerHTML=unescape(ajax1.responseText);
}else{ // Error
alert("Error:"+ajax.status);
}
}
}
ajax1.send(null);
}
En teoría pensaba que el "readyState==3" iría devolviendo datos, pero no es así, los devuelve cuando termina la función.
Como pueden ver, llamo a una función en ASP donde realizo la importación y la idea es mostrar en el area de texto los diferentes estados que voy mostrando al usuario, algo así:
- Iniciando importación
- Conectado con el fichero externo
- Lectura del fichero externo
- Importados X datos...
- Importación finalizada
¿Entienden?, en problema es ese, que no puedo ir sacando esta información y no se me ocurre como hacerlo, ¿alguna idea?
Por más que investigo no encuentro nada sustancial para esto.
Muchas gracias!