簡體   English   中英

jQuery Ajax只工作一次

[英]Jquery Ajax only Works one time

我有一個頁面正在div中重新加載數據,我正在使用jquery更新div,但是它僅觸發一次。

我的頁面如下所示:

<html><head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
</head><body>
<div id="messages" style="width:100%;font-size:120%;">
  <?php echo $tbl; ?>
</div>
<script type="text/javascript">
$(document).ready (function () {
    var updater = setTimeout (function () {
        $('div#messages').load ('new_hud.php?update=true');
    }, 2000);
});
</script>
</body></html>

我期望腳本每2秒加載一次數據。 它會在最初的2秒鍾后初始化重新加載數據,但之后再也不會執行。 我在這里想念什么?

setTimeout替換為setInterval ,就像這樣

var updater = setInterval(function () {
    $('div#messages').load ('new_hud.php?update=true');
}, 2000);

您需要使用setInterval而不是setTimeout。

在指定的延遲后,setTimeout將觸發一次。

setInterval將以指定的間隔重復觸發。

$(document).ready(function () {
    var updater = setInterval(function () {
        $('div#messages').load('new_hud.php?update=true');
    }, 2000);
});

您正在使用setTimeout()並想使用setInterval()

var updater = setInterval (function () {

setTimeout函數本身不會每2秒循環一次腳本,因此您的代碼所做的基本上是在頁面准備好加載數據之后等待2就是這樣。

將setTimeout包裝為“ for”或“ while”周期以加載所需的次數。

希望它有用:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM