HTML Ajax jQuery首先加载即时

时间:2018-01-09 20:00:33

标签: javascript php jquery html ajax

我想每3秒重新加载一次table.php。我写了一个工作代码,但是当我调用页面手册或手动刷新它时,它会在3秒后开始加载我的内容,而不是立即加载。现在有人,如何调用第一个table.php,然后每隔3秒刷新一次,就像我下面的代码一样?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function() {
      setInterval(function () {
        $('#show').load('table.php')
      }, 3000);
    });
  </script>

3 个答案:

答案 0 :(得分:2)

立即调用表加载,然后包含在循环中:

$(document).ready(function() {
    $('#show').load('table.php')
    setInterval(function () {
        $('#show').load('table.php')
    }, 3000);
});

答案 1 :(得分:2)

除了调用它之外没有办法立即调用函数:

$(document).ready(function() {
  $('#show').load('table.php');

  setInterval(function () {
    $('#show').load('table.php')
  }, 3000);
});

更进一步,您可以将相同的调用封装到函数中:

$(document).ready(function() {
  function loadTable() {
      $('#show').load('table.php');
  }
  loadTable();

  setInterval(loadTable, 3000);
});

答案 2 :(得分:-1)

一个小优化,表格会在上一次加载前3秒后准确填写,检查回调:

var reload = function() {
    $('#show').load('table.php', function() {
        // Start the counter when the data is loaded... (to avoid problems when table.php takes more than 3 secs to return the data)
        setTimeout(reload, 3000);
    });
};
// Fill the table immediately
reload();