Comment puis-je appeler une demande Ajax dans une période de temps spécifique ? Dois-je utiliser Timer Plugin ou jQuery a-t-il un plugin pour cela ?
Réponses
Trop de publicités?Vous pouvez utiliser le javascript setInterval 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 genre 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, alors je l'ai fait.
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 intégrés à JavaScript, vous pouvez les utiliser avec n'importe quelle bibliothèque.