在給定的場景中,目標是使用 Ajax 每 10 秒在 div 中顯示新的回饋項目。然而,提供的代碼只顯示了兩項,然後就停止了。
問題是程式碼缺少定期啟動 Ajax 呼叫的機制。若要實現此目的,請考慮使用 setInterval() 函數。
setInterval() 函數採用回呼函數和以毫秒為單位的間隔作為其參數。它會在指定的時間間隔過去後執行回調函數,並繼續執行,直到清除。
例如,您可以使用 setInterval() 如下:
<code class="javascript">setInterval(function(){get_fb();}, 10000);</code>
此程式碼將每 10 秒呼叫一次 get_fb() 函數。
或者,您可以讓 Ajax 呼叫在完成後啟動下一個。這可以使用 Ajax 呼叫的 success() 或complete() 方法來實作。
使用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>
使用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>
呼叫完成,這兩個方法都會啟動下一個Ajax 呼叫。
setInterval( 的使用) 或 Ajax 呼叫完成回調允許定期連續檢索和顯示新的反饋項,解決停止前只顯示兩項的問題。
以上是如何使用 jQuery Ajax 每 10 秒持續取得資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!