Maison  >  Article  >  développement back-end  >  Comment récupérer des données en continu avec jQuery Ajax toutes les 10 secondes ?

Comment récupérer des données en continu avec jQuery Ajax toutes les 10 secondes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 03:53:29857parcourir

How to Continuously Fetch Data with jQuery Ajax Every 10 Seconds?

jQuery : appeler 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().

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.

Rappel de fin d'appel Ajax

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é.

Conclusion

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn