Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Hanya Dua Item Maklum Balas Dipaparkan Apabila Menggunakan Panggilan AJAX jQuery pada Selang 10 Saat?

Mengapa Hanya Dua Item Maklum Balas Dipaparkan Apabila Menggunakan Panggilan AJAX jQuery pada Selang 10 Saat?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 09:13:29814semak imbas

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

jQuery: Membuat Panggilan AJAX pada Selang 10 Saat

Dalam senario ini, pangkalan data maklum balas disoal menggunakan AJAX setiap 10 saat untuk memaparkan maklum balas baharu dalam div . Walau bagaimanapun, kod tersebut menghadapi isu di mana ia hanya memaparkan dua item maklum balas dan bukannya mengemas kini secara berterusan dengan yang baharu.

Penyelesaian:

Ralat berpunca daripada kekurangan mekanisme untuk mencetuskan panggilan AJAX berikutnya selepas yang awal. Untuk membetulkan ini, perkenalkan fungsi setInterval() atau setTimeout() untuk mengautomasikan ulangan panggilan.

Pendekatan setInterval():

<code class="javascript">setInterval(get_fb, 10000);</code>

Dalam variasi ini, get_fb() melaksanakan setiap 10 saat tanpa mengira status panggilan AJAX sebelumnya.

setTimeout() dengan Success Callback:

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

Dengan kaedah ini, panggilan seterusnya dilaksanakan sebaik sahaja panggilan AJAX semasa berjaya diselesaikan.

setTimeout() dengan Panggilan Balik Lengkap:

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

Pendekatan ini memastikan bahawa panggilan AJAX baharu dicetuskan tanpa mengira daripada hasil yang sebelumnya.

Contoh yang disediakan pada jsfiddle menunjukkan pelaksanaan yang betul bagi kedua-dua kaedah. Ambil perhatian bahawa panggilan balik kejayaan berfungsi sekali sahaja disebabkan oleh ralat yang dikembalikan oleh panggilan AJAX.

Atas ialah kandungan terperinci Mengapa Hanya Dua Item Maklum Balas Dipaparkan Apabila Menggunakan Panggilan AJAX jQuery pada Selang 10 Saat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn