Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2010, 18:45
pollin14
 
Fecha de Ingreso: marzo-2010
Ubicación: df
Mensajes: 58
Antigüedad: 14 años, 8 meses
Puntos: 5
Recursion dentro del evento onreadystatechange (ajax)

Hola! :)

Quiero enviar al servidor una sucesión de n datos, usando el modelo o tipo de datos de Cola. Ahora, al enviar el primer dato al servidor este envía la respuesta. Pero, al enviar la segunda solicitud jamas se recibe respuesta del servidor.

Me gustaria que alguien me dijera porque no funciona la recursion o la funcion send() cuando se pone dentro del evento onreadystatuschange o como resolver el problema de enviar un dato tras otro.

Dejo un código simplificado de lo que intento

Código Javascript:
Ver original
  1. <html>  
  2.   <head>  
  3.     <title>DOM Event Example</title>  
  4.     <script type="text/javascript">  
  5. function request(){
  6.     if (salida == 5 ){
  7.         alert ("saliendo" );
  8.     }else{
  9.         xhr.open ( "GET","appendBook.txt",true );
  10.         xhr.send (null);
  11.         alert ( salida ++ );
  12.     }  
  13. }
  14.  
  15. function load(){
  16.     xhr = new XMLHttpRequest();
  17.     salida = 0;
  18.    
  19.     xhr.onreadystatechange = function(){
  20.         if (    xhr.readyState == 4 &&
  21.                 xhr.status == 200){
  22.             request();
  23.         }          
  24.     }
  25.     request();
  26. }  
  27.    
  28.     </script>  
  29. </head>  
  30. <body onload="load();">  
  31. </body>
  32. </html>

Lo importante en el codigo es que deberian salir 5 alerts y unicamente sale 1. ¿por que o como lo soluciono?

Última edición por pollin14; 04/08/2010 a las 19:54 Razón: cambie "readystate" > "readyState"