Heim > Backend-Entwicklung > PHP-Tutorial > Wie rufe ich mit jQuery Ajax kontinuierlich alle 10 Sekunden Daten ab?

Wie rufe ich mit jQuery Ajax kontinuierlich alle 10 Sekunden Daten ab?

Patricia Arquette
Freigeben: 2024-11-04 03:53:29
Original
922 Leute haben es durchsucht

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

jQuery: Alle 10 Sekunden Ajax aufrufen

Im gegebenen Szenario besteht das Ziel darin, mithilfe von Ajax alle 10 Sekunden neue Feedbackelemente in einem Div anzuzeigen. Der bereitgestellte Code zeigt jedoch nur zwei Elemente an und stoppt dann.

Das Problem besteht darin, dass dem Code ein Mechanismus fehlt, um den Ajax-Aufruf regelmäßig zu initiieren. Um dies zu erreichen, sollten Sie die Funktion setInterval() verwenden.

setInterval()

Die Funktion setInterval() verwendet eine Callback-Funktion und ein Intervall in Millisekunden als Argumente. Es führt die Rückruffunktion aus, nachdem das angegebene Intervall verstrichen ist, und führt dies so lange aus, bis es gelöscht wird.

Zum Beispiel könnten Sie setInterval() wie folgt verwenden:

<code class="javascript">setInterval(function(){get_fb();}, 10000);</code>
Nach dem Login kopieren

Dieser Code wird Rufen Sie alle 10 Sekunden die Funktion get_fb() auf.

Ajax Call Completion Rückruf

Alternativ können Sie den Ajax-Aufruf veranlassen, nach Abschluss den nächsten Aufruf einzuleiten. Dies kann mit den Methoden success() oder complete() des Ajax-Aufrufs erreicht werden.

Verwendung von 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>
Nach dem Login kopieren

Verwendung von 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>
Nach dem Login kopieren

Beide Methoden initiieren den nächsten Ajax-Aufruf, sobald der aktuelle aufgerufen wurde abgeschlossen.

Fazit

Die Verwendung von setInterval()- oder Ajax-Call-Completion-Callbacks ermöglicht das kontinuierliche Abrufen und Anzeigen neuer Feedback-Elemente in regelmäßigen Abständen, wodurch das Problem behoben wird, dass nur zwei Elemente angezeigt werden, bevor gestoppt wird .

Das obige ist der detaillierte Inhalt vonWie rufe ich mit jQuery Ajax kontinuierlich alle 10 Sekunden Daten ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage