Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich mit jQuery Ajax kontinuierlich alle 10 Sekunden Daten ab?
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.
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.
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.
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!