当前位置: 代码迷 >> JavaScript >> jQuery Ajax只工作一次
  详细解决方案

jQuery Ajax只工作一次

热度:64   发布时间:2023-06-05 16:00:49.0

我有一个页面正在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);
});

您正在使用并想使用 。

var updater = setInterval (function () {

setTimeout函数本身不会每2秒循环一次脚本,因此您的代码所做的基本上是在页面准备好加载数据之后等待2就是这样。

将setTimeout包装为“ for”或“ while”周期以加载所需的次数。

希望它有用:)

  相关解决方案