首頁 > 後端開發 > php教程 > 為什麼使用 jQuery AJAX 呼叫時間隔 10 秒只顯示兩個回饋項目?

為什麼使用 jQuery AJAX 呼叫時間隔 10 秒只顯示兩個回饋項目?

Linda Hamilton
發布: 2024-11-03 09:13:29
原創
804 人瀏覽過

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

jQuery:以 10 秒的間隔進行 AJAX 呼叫

在此場景中,每 10 秒使用 AJAX 查詢回饋資料庫以在 div 中顯示最新回饋。然而,程式碼遇到了一個問題,它只顯示兩個回饋項,而不是不斷更新新的回饋項。

解:

錯誤源自於缺乏觸發後續 AJAX 呼叫的機制在第一個之後。若要修正此問題,請引入 setInterval() 或 setTimeout() 函數來自動重複呼叫。

setInterval() 方法:

<code class="javascript">setInterval(get_fb, 10000);</code>
登入後複製

在此變體中, get_fb() 每 10 秒執行一次,無論前一個 AJAX 呼叫的狀態如何。

setTimeout() 和成功回呼:

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

使用此方法,一旦當前 AJAX 呼叫成功完成,就會執行下一個呼叫。

帶有完整回調的 setTimeout():

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

此方法可確保觸發新的 AJAX 調用,無論前一個結果的結果。

jsfiddle 上提供的範例示範了這兩種方法的正確實作。請注意,由於 AJAX 呼叫返回錯誤,成功回調僅有效一次。

以上是為什麼使用 jQuery AJAX 呼叫時間隔 10 秒只顯示兩個回饋項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板