Maison > Article > développement back-end > Comment récupérer des données en continu avec jQuery Ajax toutes les 10 secondes ?
Dans le scénario donné, l'objectif est d'afficher de nouveaux éléments de feedback dans un div toutes les 10 secondes en utilisant Ajax. Cependant, le code fourni n'affiche que deux éléments, puis s'arrête.
Le problème est qu'il manque au code un mécanisme permettant de lancer périodiquement l'appel Ajax. Pour ce faire, pensez à utiliser la fonction setInterval().
La fonction setInterval() prend une fonction de rappel et un intervalle en millisecondes comme arguments. Il exécute la fonction de rappel une fois l'intervalle spécifié écoulé et continue de le faire jusqu'à ce qu'il soit effacé.
Par exemple, vous pouvez utiliser setInterval() comme suit :
<code class="javascript">setInterval(function(){get_fb();}, 10000);</code>
Ce code sera appelez la fonction get_fb() toutes les 10 secondes.
Vous pouvez également demander à l'appel Ajax de lancer le suivant une fois terminé. Ceci peut être réalisé en utilisant les méthodes success() ou complete() de l'appel Ajax.
Utilisation de success() :
<code class="javascript">function get_fb(){ var feedback = $.ajax({ type: "POST", url: "feedback.php", async: false }).success(function(){ setTimeout(function(){get_fb();}, 10000); }).responseText; $('div.feedback-box').html(feedback); }</code>
Utilisation de complete () :
<code class="javascript">function get_fb(){ var feedback = $.ajax({ type: "POST", url: "feedback.php", async: false }).complete(function(){ setTimeout(function(){get_fb();}, 10000); }).responseText; $('div.feedback-box').html(feedback); }</code>
Ces deux méthodes lanceront le prochain appel Ajax une fois l'appel en cours terminé.
L'utilisation de setInterval( ) ou les rappels d'achèvement d'appel Ajax permettent une récupération et un affichage continus de nouveaux éléments de commentaires à intervalles réguliers, résolvant ainsi le problème de l'affichage de seulement deux éléments avant l'arrêt.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!