Salut les gars, je dois être capable de faire un appel ajax à faire après toutes les quelques minutes. Fondamentalement, l'appel ajax serait de vérifier les nouveaux emails dans une boîte de réception. S'il y a de nouveaux emails, les emails seront téléchargés dans une base de données. J'ai tout le code du serveur installé. J'ai juste besoin de savoir comment puis-je configurer sur la partie frontale la partie où l'appel ajax est fait après toutes les quelques minutes plus il doit être configuré de telle sorte que nous ne nous retrouvons pas avec des appels ajax parallèles étant fait si l'ajax call n'a pas retourné de réponse, il ne devrait pas démarrer une nouvelle requête ajax.Besoin d'exécuter un appel ajax de manière incrémentale après des périodes de temps fixes en javascript?
Répondre
http://www.w3schools.com/jsref/met_win_settimeout.asp
ou
http://www.w3schools.com/jsref/met_win_setinterval.asp
intervalle de jeu est probablement plus comme ce que vous après, vous pouvez appeler quelque chose comme
setInterval (function() {/ * code que vous voulez exécuter ici * /}, 100);
puis votre code sera exécuté toutes les 100 millisecondes.
Vous aurez probablement besoin d'utiliser beaucoup plus de temps, quelque chose comme 60000 pour chaque minute. Si vous utilisez la méthode settimeout
alors vous pouvez l'avoir vérifier attendre la réponse de l'ajax, et laisser le code manipule la réponse ajax définir un nouveau délai.
Il y a aussi Prototype mise à jour périodique qui rend les choses beaucoup plus facile
quelques exemples
http://www.tutorialspoint.com/prototype/prototype_ajax_periodicalupdater.htm
Je mis en place un cookie qui rebondit et-vient entre le serveur et le client pour stocker t La dernière fois, une requête ajax a été faite. Ensuite, à chaque chargement de page, un script js lit le cookie et définit un setTimeout
pour le temps restant avant la prochaine requête ajax.
Pourquoi faire tout cet effort supplémentaire pour obtenir la requête AJAX toutes les X secondes, quand s'etInterval' vous permet de faire exactement cela avec un appel de fonction? – thecoshman
Parce que setInterval sera réinitialisé sur le chargement de la page suivante, qui a une forte probabilité de se produire si la minuterie est réglée sur "quelques minutes". Donc, votre requête ajax ** ne se déclenchera jamais **. – Alsciende
Vous pouvez contourner cela en envoyant un appel pour vérifier les nouveaux emails chaque fois qu'une page se charge ... ce qui est * probablement * ce que fait le chargement de la page * de toute façon * – Dancrumb
Dans le cas où je voudrais passer certains paramètres à la fonction appelée par la méthode settimeout comment le ferais-je? – Ali