Foros del Web » Programando para Internet » Jquery »

no funciona parametro "timeout" petición Ajax

Estas en el tema de no funciona parametro "timeout" petición Ajax en el foro de Jquery en Foros del Web. Hola a todos/as. Tengo una petición Ajax como la siguiente: Código: $.ajax({ beforeSend: function() { }, complete: function() { }, //Hide spinner type: "GET", timeout: ...
  #1 (permalink)  
Antiguo 05/06/2014, 07:40
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
no funciona parametro "timeout" petición Ajax

Hola a todos/as. Tengo una petición Ajax como la siguiente:

Código:
$.ajax({
			
			beforeSend: function() { 
				
			},
			
			complete: function() { 
				
			}, //Hide spinner
		
			type: "GET",
			timeout: 15000,
			url: "prueba.php",
			data: {email:"[email protected]"},
			async: false,
			cache: false,
		
			success: function(xhr) {
			     proceso_respuesta();
			},
			dataType: 'text',
			error: function(request, status, error) {
				alert(error);
			}
});
La cuestión es que estoy probando el tema del timeout, es decir, que si la petición no responde en 15 segundos como tengo puesto arriba que finalice.

Para probar si funciona el timeout, he puesto que la petición sea de tipo GET aunque en realidad el script al que llamo espera los parámetros por POST. Además, aunque en el código de arriba no lo he puesto, he añadido una imagen de loading que aparece al comenzar la petición Ajax y la oculta cuando la petición se ha completado.

Pues el problema es que la imagen del loading aparece indefinidamente, por lo que me da a entender que la petición se ha quedado "colgada". No se si no estoy estableciendo bien el parámetro timeout o hay algún error en el código expuesto arriba.


Saludos.


PD: El script "prueba.php" al que llamo es del tipo:

Código:
<?php

if($_POST){

........


}

?>

Cuando la petición la hago POST, la petición me devuelve el resultado correctamente.
  #2 (permalink)  
Antiguo 05/06/2014, 07:47
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: no funciona parametro "timeout" petición Ajax

He probado también ha dejar la petición como POST (que es como debe ser) y poner al principio del script php al que se llama:

sleep(60);

para que esté parado el script 60 segundos. También se me queda "colgado" la petición ajax.....
  #3 (permalink)  
Antiguo 05/06/2014, 07:48
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: no funciona parametro "timeout" petición Ajax

Por lo que tengo entendido el timeout sirve para cuando el script no se puede conectar al servidor.

Lo único que estas haciendo en ese script es devolver pagina en blanco por lo que el script te estaría saliendo por la función error: O tienes un problema en la funcion_respuesta() tal vez te este saliendo undefined fijate en la consola de errores.
  #4 (permalink)  
Antiguo 05/06/2014, 07:57
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Respuesta: no funciona parametro "timeout" petición Ajax

Cita:
Iniciado por Maganius Ver Mensaje
Por lo que tengo entendido el timeout sirve para cuando el script no se puede conectar al servidor.

Lo único que estas haciendo en ese script es devolver pagina en blanco por lo que el script te estaría saliendo por la función error: O tienes un problema en la funcion_respuesta() tal vez te este saliendo undefined fijate en la consola de errores.

Gracias por responder. Es decir, que entonces el timeout sirve mas que nada para comprobar si la url es correcta (esta funcionando) no??

Y para controlar que no tarde mas de "X" segundos en recibir una respuesta??

Lo que pretendo hacer es volcar los resultados obtenidos al consultar la BBDD en dicha página y quería controlar de que si se tarda más de "X" segundos se devuelva un mensaje de error al usuario.
  #5 (permalink)  
Antiguo 05/06/2014, 08:13
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: no funciona parametro "timeout" petición Ajax

Cita:
Iniciado por aeb_asturias Ver Mensaje
Gracias por responder. Es decir, que entonces el timeout sirve mas que nada para comprobar si la url es correcta (esta funcionando) no??

Y para controlar que no tarde mas de "X" segundos en recibir una respuesta??

Lo que pretendo hacer es volcar los resultados obtenidos al consultar la BBDD en dicha página y quería controlar de que si se tarda más de "X" segundos se devuelva un mensaje de error al usuario.
Si exactamente, sirve para que la página no demore más de X segundos en ejecución.

Lo que no esta funcionando es la prueba que estas haciendo con tu script para lograr hacer demorar la respuesta al ajax en el PHP deberías crear un loop.

Creo que si el timeout se pone en funcionamiento el mismo sale por la función error:

Etiquetas: ajax, parametro, timeout
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 18:43.