Llamar a jQuery Ajax Solicitar cada X minutos

¿Cómo puedo llamar a una solicitud de Ajax en un período de tiempo específico? ¿Debería usar Timer Plugin o jQuery tiene un plugin para esto?

Puede usar el javascript setInterval incorporado.

var ajax_call = function() { //your jQuery ajax code }; var interval = 1000 * 60 * X; // where X is your every X minutes setInterval(ajax_call, interval); 

o si eres del tipo más escueto …

 setInterval(function() { //your jQuery ajax code }, 1000 * 60 * X); // where X is your every X minutes 

Un poco tarde pero utilicé el método jQuery ajax. Pero no quería enviar una solicitud cada segundo si no recibí la respuesta de la última solicitud, así que lo hice.

 function request(){ if(response == true){ // This makes it unable to send a new request // unless you get response from last request response = false; var req = $.ajax({ type:"post", url:"request-handler.php", data:{data:"Hello World"} }); req.done(function(){ console.log("Request successful!"); // This makes it able to send new request on the next interval response = true; }); } setTimeout(request(),1000); } request(); 

Tienes un par de opciones, puedes establecer setTimeout() o setInterval() . Aquí hay un gran artículo que explica cómo usarlos .

La magia es que están integrados en JavaScript, puedes usarlos con cualquier biblioteca.

puedes usar setInterval() en javascript

  

No pugin requerido. Puedes usar solo jquery.

Si desea configurar algo en un temporizador, puede usar los métodos setTimeout o setInterval JavaScript:

 setTimeout ( expression, timeout ); setInterval ( expression, interval ); 

use jquery Every time Plugin .utilizando esto, puede hacer una llamada ajax para el período de “X”

 $("#select").everyTime(1000,function(i) { //ajax call } 

también puedes usar setInterval

Encontré un muy buen plugin jquery que puede facilitar tu vida con este tipo de operación. Puede verificar https://github.com/ocombe/jQuery-keepAlive .

 $.fn.keepAlive({url: 'your-route/filename', timer: 'time'}, function(response) { console.log(response); });//