Foros del Web » Programando para Internet » Javascript »

Problema con readyState

Estas en el tema de Problema con readyState en el foro de Javascript en Foros del Web. Bueno lo que pasa es que estoy haciendo un proyecto personal y ahora mismo estoy agregando una opcion de compartir links, el sistema es todo ...
  #1 (permalink)  
Antiguo 24/02/2012, 16:32
Avatar de augusto_cmv  
Fecha de Ingreso: enero-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema con readyState

Bueno lo que pasa es que estoy haciendo un proyecto personal y ahora mismo estoy agregando una opcion de compartir links, el sistema es todo automatico con Ajax, pero que pasa:

Hay una fase en la que el link que escribes se comprueba si existe o no lo que le toma al servidor php de 3 a 5 segundos, y entonces el ajax devuelve readyState Cargando(1) o Incompleto(3), para solucionarlo hice lo siguiente:

Código:
do{
    //Codigo de progreso , lo omito aqui 
}while(Ajax.readyState != 4); 

/*Contenido a procesar cuando el readyState sea 4*/
Pero que pasa, el loop satura al cliente(Navegador) y lo colga y manda a detener el script.

Entonces quisiera que me dijeran una forma de poder esperar a que readyState este completo (4), para procesar lo que sigue, sin que cuelge el navegador.

Saludos.
  #2 (permalink)  
Antiguo 25/02/2012, 08:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema con readyState

eso es porque lo único que necesitas comprobar, aparte del readyState es el Status:

Ajax,status == 200

consulte un manual de AJAX

y no necesitas un while, porque el onreadystatechange es llamado frecuentemente y de forma asíncrona, cosa que evita que el navegador se bloqueé (a no ser que lo coloques sincrono)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, php, readystate
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:35.