Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2010, 05:45
boligoma200
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta llama 2 veces en firefox y 1 en explorer

Hola a todos, tengo un código muy simple en Ajax, que lo único que hace es mostrar el readyState en cada momento, y cuando llegue a 4 muestra un texto de un txt. Se hace en ventanas alert. Y lo hace todo correctamente, lo raro es que en Firefox muestra el readyState=1 dos veces, cuando el readyState=2, vuelve a abrir otro alert con el valor de readyState=1. Es decir es como si volviera a llamar a la función, en cambio en IE y en Chrome lo hace correctamente.
He mirado por ahí pero el código parece correcto. Se lo paso, como verán es muy simple. Muchas gracias por sus ideas.

<script type="text/javascript">

function descarga()
{
// 1-INSTANCIA DEL OBJETO XMLHttpRequest
if(window.XMLHttpRequest)
{
ObjetoXMLHttpRequest = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
ObjetoXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}

// 2-FUNCIÓN DE RESPUESTA
ObjetoXMLHttpRequest.onreadystatechange = mostrar;

alert("readyState="+ ObjetoXMLHttpRequest.readyState);

// 3-REALIZAR LA PETICIÓN HTTP
ObjetoXMLHttpRequest.open('GET', 'texto.txt', true);

//4-EJECUTAR LA FUNCIÓN DE RESPUESTA
ObjetoXMLHttpRequest.send(null);
}
function mostrar()
{
if(ObjetoXMLHttpRequest.readyState <= 3)
{
alert("readyState="+ObjetoXMLHttpRequest.readyStat e);
}
if(ObjetoXMLHttpRequest.readyState == 4 && ObjetoXMLHttpRequest.status == 200)
{//Cuando llegue a 4 se muestra el texto
alert(ObjetoXMLHttpRequest.responseText);
}
}
</script>
</head>
<body>
<input type="button" onclick="descarga()" value="Empezar"/>
</body>
</html>