Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2010, 10:37
Avatar de intiweb
intiweb
 
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años
Puntos: 5
problemas con readyState

hola.
estoy haciendo una aplicacion donde al cliquear sobre una foto pasa a la foto siguiente.

puse etiquetas div con diferentes id para que ajax valla cargando los datos y un form con un campo oculto de donde ajax recupera el id de la foto para saber cual es la proxima foto.

mi problema es que al hacer clik en la foto que llama al script este se queda siempre en esperando, o sea que nunca pasa a la parte del script donde readyState = 4.

les pongo el script:
Código:
function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
}

var http = getXMLHTTPRequest();

function nexfoto()
{
	var ids = document.miform.namefoto.value;
	var miAleatorio=parseInt(Math.random()*99999999);
	var url = "servidor_photo_prev.php?id=" + ids;
	http.open("GET", url+ "&rand=" + miAleatorio, true);
    http.onreadystatechange = reponsephotonext;
    http.send(null); 
}

function reponsephotonext() {
if(http.readyState == 4) {
if(http.status == 200) {
	
	        var nodoinfo = http.responseXML.getElementsByTagName("photodata")[0];
            var textolink = nodoSaludo.childNodes[0].nodeValue;
			var textoid = nodoSaludo.childNodes[1].nodeValue;
			var textoplace = nodoSaludo.childNodes[2].nodeValue;
			var textodata = nodoSaludo.childNodes[3].nodeValue;
			var textoname = nodoSaludo.childNodes[4].nodeValue;
            document.getElementById('nombrefoto').innerHTML = (textoname);
			document.getElementById('foto').innerHTML = ("<a href='javascript:;' onclick='nexfoto();'> <img src='"+ textolink +"' width='600'></img>");
			document.getElementById('namefoto').innerHTML = ("<input type='hidden' id='namefoto' value='" + textoid + "'></form>");

        } else {
		alert("Ha ocurrido un error: " + miPeticion.statusText);
        }
    }else {     // si readyState ha cambiado
                 // pero readyState <> 4
           document.getElementById('foto').innerHTML = "<img src='jpg/cargador.jpg' width='600'></img>";
    }
}
el servidor es php y te larga el siguiente xml:
Código:
  <?xml version="1.0" ?> 
- <fotos>
- <photodata>
  <link>fotos/usuarios/laouen/fondo.jpg</link> 
  <id>2</id> 
  <lugar>capital federal</lugar> 
- <fecha>
  <br>20-12-11</br> 
  18:54:42 Hs: 
  </fecha>
  <fotoname>fondo.jpg</fotoname> 
  </photodata>
- <photodata>
  <link>fotos/usuarios/laouen/tarjeta.jpg</link> 
  <id>3</id> 
  <lugar>capital federal</lugar> 
- <fecha>
  <br>20-12-11</br> 
  18:54:42 Hs: 
  </fecha>
  <fotoname>tarjeta.jpg</fotoname> 
  </photodata>
  </fotos>
no se porque el script se queda en la parte donde le indico que hacer mientras el servidor no dio la respuesta o sea readyState no es 4.

alguien ve cual es el error ?
__________________
un saludo..... . . .