59 votes

Appelez la demande jQuery Ajax toutes les X minutes

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 ?

140voto

Ben Points 1989

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

11voto

linslusa Points 109

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();

6voto

Calvin Fan Points 51

vous pouvez utiliser setInterval() en javascript

 <script>
//Call the yourAjaxCall() function every 1000 millisecond
setInterval("yourAjaxCall()",1000);
function yourAjaxCall(){...}
</script>

5voto

geek Points 7054

Aucun plugin requis. Vous ne pouvez utiliser que jquery.

Si vous souhaitez définir quelque chose sur une minuterie, vous pouvez utiliser les méthodes JavaScript setTimeout ou setInterval :

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

4voto

JMP Points 4276

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X