Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2005, 14:36
Avatar de nachopro
nachopro
 
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 21 años
Puntos: 2
problema al llamar al ajax

mi código:
Código:
var _xmlhttp, _divname;

/*@cc_on @*//*@if (@_jscript_version >= 5)
var idAX = ["Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0; !_xmlhttp && i<idAX.length; i++)
{try{ _xmlhttp = new ActiveXObject(idAX[i]);}
catch(ex) { _xmlhttp = false; }
}@end @*/

if (!_xmlhttp && typeof XMLHttpRequest != 'undefined') {
	_xmlhttp = new XMLHttpRequest();
}

function leerPagina(url, div) {
	_divname = div;
	if(_xmlhttp) {
		_xmlhttp.open("GET", url, true);
		_xmlhttp.onreadystatechange = evaluarResultado;
		_xmlhttp.send(null);
	}
}

function evaluarResultado() {
	if (_xmlhttp.readyState == 1) {
		document.getElementById(_divname).innerHTML = "<img src=\"test.gif\">";
	}
	else if (_xmlhttp.readyState == 4) {
		if (_xmlhttp.status == 200) {
			document.getElementById(_divname).innerHTML = _xmlhttp.responseText;
		}
		else {
			document.getElementById(_divname).innerHTML = "Se genero un error:\n" + _xmlhttp.statusText;
		}
	}
}
mi problema:
cuando hago una llamada a la función leerPagina() y, sin esperar a que esta termine vuelvo a llamarla (ya sea por desesperado o para cargar otra página) el firefox me indica:
Código:
Error: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: archivo.js :: evaluarResultado :: line 28"  data: no]
Line: 28
y ninguno de los procesos termina, debo volver a inicar la función
me pueden ayudar para que esto no pase? es decir, que agende las peticiones o que aborte la actual y continúe con la nueva petición

gracias