Heim > Backend-Entwicklung > PHP-Tutorial > Warum werden bei der Verwendung von jQuery-AJAX-Aufrufen in einem 10-Sekunden-Intervall nur zwei Feedback-Elemente angezeigt?

Warum werden bei der Verwendung von jQuery-AJAX-Aufrufen in einem 10-Sekunden-Intervall nur zwei Feedback-Elemente angezeigt?

Linda Hamilton
Freigeben: 2024-11-03 09:13:29
Original
806 Leute haben es durchsucht

Why are Only Two Feedback Items Displayed When Using jQuery AJAX Calls on a 10-Second Interval?

jQuery: AJAX-Aufrufe im 10-Sekunden-Intervall durchführen

In diesem Szenario wird alle 10 Sekunden eine Feedback-Datenbank mit AJAX abgefragt, um neues Feedback in einem Div anzuzeigen . Allerdings stößt der Code auf ein Problem, bei dem nur zwei Feedback-Elemente angezeigt werden, anstatt kontinuierlich mit neuen aktualisiert zu werden.

Lösung:

Der Fehler entsteht durch das Fehlen eines Mechanismus zum Auslösen nachfolgender AJAX-Aufrufe nach dem ersten. Um dies zu beheben, führen Sie eine setInterval()- oder setTimeout()-Funktion ein, um die Aufrufwiederholung zu automatisieren.

setInterval()-Ansatz:

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

In dieser Variante get_fb() wird alle 10 Sekunden ausgeführt, unabhängig vom Status des vorherigen AJAX-Aufrufs.

setTimeout() mit Success Callback:

<code class="javascript">var feedback = $.ajax({
    type: "POST",
    url: "feedback.php",
    async: false
}).success(function() {
    setTimeout(function() { get_fb(); }, 10000);
}).responseText;</code>
Nach dem Login kopieren

Mit dieser Methode wird die Der nächste Aufruf wird ausgeführt, sobald der aktuelle AJAX-Aufruf erfolgreich abgeschlossen wurde.

setTimeout() mit Complete Callback:

<code class="javascript">var feedback = $.ajax({
    type: "POST",
    url: "feedback.php",
    async: false
}).complete(function() {
    setTimeout(function() { get_fb(); }, 10000);
}).responseText;</code>
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass trotzdem ein neuer AJAX-Aufruf ausgelöst wird des Ergebnisses des vorherigen.

Das auf jsfiddle bereitgestellte Beispiel zeigt die korrekte Implementierung beider Methoden. Beachten Sie, dass der Erfolgsrückruf aufgrund eines vom AJAX-Aufruf zurückgegebenen Fehlers nur einmal funktioniert.

Das obige ist der detaillierte Inhalt vonWarum werden bei der Verwendung von jQuery-AJAX-Aufrufen in einem 10-Sekunden-Intervall nur zwei Feedback-Elemente angezeigt?. 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