Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengambil Data Secara Berterusan dengan jQuery Ajax Setiap 10 Saat?

Bagaimana untuk Mengambil Data Secara Berterusan dengan jQuery Ajax Setiap 10 Saat?

Patricia Arquette
Patricia Arquetteasal
2024-11-04 03:53:29851semak imbas

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

jQuery: Memanggil Ajax Setiap 10 Saat

Dalam senario yang diberikan, matlamatnya adalah untuk memaparkan item maklum balas baharu dalam div setiap 10 saat menggunakan Ajax. Walau bagaimanapun, kod yang disediakan hanya menunjukkan dua item dan kemudian berhenti.

Isunya ialah kod itu tiada mekanisme untuk memulakan panggilan Ajax secara berkala. Untuk mencapai ini, pertimbangkan untuk menggunakan fungsi setInterval().

setInterval()

Fungsi setInterval() mengambil fungsi panggil balik dan selang dalam milisaat sebagai hujahnya. Ia melaksanakan fungsi panggil balik selepas selang waktu yang ditentukan berlalu dan terus berbuat demikian sehingga ia dikosongkan.

Sebagai contoh, anda boleh menggunakan setInterval() seperti berikut:

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

Kod ini akan panggil fungsi get_fb() setiap 10 saat.

Panggilan Balik Penyelesaian Panggilan Ajax

Sebagai alternatif, anda boleh meminta panggilan Ajax memulakan panggilan seterusnya setelah selesai. Ini boleh dicapai menggunakan kaedah success() atau complete() bagi panggilan Ajax.

Menggunakan 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>

Menggunakan 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>

Kedua-dua kaedah ini akan memulakan panggilan Ajax seterusnya setelah yang semasa telah selesai.

Kesimpulan

Penggunaan setInterval( ) atau panggilan balik penyiapan panggilan Ajax membolehkan pengambilan dan paparan item maklum balas baharu secara berterusan pada selang masa yang tetap, menangani isu hanya menunjukkan dua item sebelum berhenti.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Data Secara Berterusan dengan jQuery Ajax Setiap 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