Heim  >  Artikel  >  Backend-Entwicklung  >  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
Patricia ArquetteOriginal
2024-11-04 03:53:29851Durchsuche

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>

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>

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>

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!

Stellungnahme:
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