Comment puis-je appeler une requête Ajax dans une période de temps spécifique?
Vous pouvez utiliser le setInterval javascript intégré.
var ajax_call = function() {
//your jQuery ajax code
};
var interval = 1000 * 60 * X; // where X is your every X minutes
setInterval(ajax_call, interval);
ou si vous êtes du type plus laconique ...
setInterval(function() {
//your jQuery ajax code
}, 1000 * 60 * X); // where X is your every X minutes
Un peu tard mais j'ai utilisé la méthode jQuery ajax. Mais je ne voulais pas envoyer une demande toutes les secondes si je n'ai pas reçu la réponse de la dernière demande.
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();
Vous avez plusieurs options, vous pouvez setTimeout()
ou setInterval()
. Voici un excellent article qui explique comment les utiliser .
La magie est qu'ils sont construits en JavaScript, vous pouvez les utiliser avec n'importe quelle bibliothèque.
Pas de pugin requis. Vous ne pouvez utiliser que jQuery.
Si vous souhaitez définir quelque chose sur une minuterie, vous pouvez utiliser les méthodes setTimeout
ou setInterval
de JavaScript:
setTimeout ( expression, timeout );
setInterval ( expression, interval );
vous pouvez utiliser setInterval()
en javascript
<script>
//Call the yourAjaxCall() function every 1000 millisecond
setInterval("yourAjaxCall()",1000);
function yourAjaxCall(){...}
</script>
use jquery Chaque fois que Plugin . en utilisant cela, vous pouvez faire un appel ajax pendant une période "X"
$("#select").everyTime(1000,function(i) {
//ajax call
}
vous pouvez aussi utiliser setInterval
J'ai trouvé un très bon plugin jquery qui peut vous faciliter la vie avec ce type d'opération. Vous pouvez payer https://github.com/ocombe/jQuery-keepAlive .
$.fn.keepAlive({url: 'your-route/filename', timer: 'time'}, function(response) {
console.log(response);
});//