• Publicidad

La página no responde en Ajax

Discute todo acerca de JavaScript así como DHTML o la tecnología AJAX.

La página no responde en Ajax

Notapor BigBear » 2017-02-25 13:50 @618

Hola. Tengo un servicio en Ajax que carga un servicio mediante un archivo PHP. El tema es que funciona bien pero el archivo demora 2 minutos, algo normal en el trabajo, pero cada 30 segundos aparece la clásica respuesta del navegador "la página no responde, ¿seguir esperando?" Entonces hay que hacer el mismo procedimiento de confirmación como 3 veces. Es muy molesto. ¿Alguien sabe alguna forma de evitar esto?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: La página no responde en Ajax

Notapor explorer » 2017-02-25 14:23 @641

La única solución es que el servidor envíe "algo" cada pocos segundos, al navegador.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: La página no responde en Ajax

Notapor BigBear » 2017-02-25 16:49 @742

¿ Algo como qué ? ¿ Hacerlo todo asincrónico en Ajax ? Pensé ya era eso.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: La página no responde en Ajax

Notapor explorer » 2017-02-25 17:38 @776

Ajax es un protocolo por el cual el navegador web puede enviar una petición al servidor que no obligue (al código JavaScript) esperar por la respuesta, sino que la llegada de la respuesta, cuando esté disponible (eso quiere decir asincrónico) provocará el lanzamiento de una retrollamada prefijada por el programador para atender la respuesta.

Todo esto es debido a que JavaScript no tenía hilos de ejecución (solo había uno para cada página web).

Pero... el problema no es la asincronía, sino la espera de la respuesta.

Si estás usando JQuery para hacer las peticiones Ajax, puedes hacer que la función que atiende la respuesta detecte los timeout. Por ejemplo: http://stackoverflow.com/questions/3543 ... -a-timeout

Cuando digo que el navegador debe recibir algo es al menos un carácter, desde el servidor, para saber que la conexión sigue viva.

De todas maneras... eso es lo que se hacía hace quince años... Ahora seguro que hay mejores métodos para evitarlo. A lo mejor, con definir un timeout en la llamada Ajax, como permite JQuery, sea suficiente.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a JavaScript

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron