刷新表仅适用于更改

时间:2016-03-09 06:58:28

标签: javascript php mysql ajax

我正在使用setTimeout + .load每5秒重新加载我的php文件:table.php,但如果没有更改,我不希望它重新加载文件。我提出的一个解决方案是创建一个名为changes.php的文件,如果有更改,则当前回显1,如果没有,则返回0。如果changes.php echos 1我想刷新其他,则需要等待另外5秒再次检查。任何帮助将不胜感激,因为我对如何处理javascript部分感到困惑。

<div id="table"></div>

   <script type="text/javascript">
$(document).ready(function(){
  refreshTable();
});

function refreshTable(){
 // if changes.php = 0 then load table.php else wait another 5 seconds
    $('#table').load('table.php', function(){
       setTimeout(refreshTable, 5000);
    });
}
</script>

1 个答案:

答案 0 :(得分:1)

<script>

$(document).ready(function(){
    checkForChanges();
    setTimeout(checkForChanges, 5000);
});

function checkForChanges() {
   $.get("changes.php", function(response) {
      if(response === "1") {
         refreshTable();
      }
   });
}

function refreshTable(){
    $('#table').load('table.php');
}

</script>