javascript - 仅在更改时刷新表

标签 javascript php mysql ajax

我正在使用 setTimeout + .load 每 5 秒重新加载我的 php 文件:table.php,但如果没有更改,我不希望它重新加载文件。我想出的一个解决方案是创建一个名为 changes.php 的文件,如果有更改则当前回显 1,如果没有更改则回显 0。如果 changes.php 回显 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>

最佳答案

<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>

关于javascript - 仅在更改时刷新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35884979/

相关文章:

javascript - 如何获取之前在 Chrome 扩展中查询的已知选项卡 ID 的更改后的 url?

php - WP echo get_user_meta 单值打印 'array'

php - 如何按照数据库中定义的顺序将行分配给并发进程?

PHP MYSQL 使用 order by 子句从表中查找行号/排名

python - 尝试使用 web.py 制作登录脚本

mysql - 如何编写一个触发器,在提交插入之前更新同一个表中的行?

javascript - JQuery 函数在输入键时不触发

javascript - jQuery 数据表处理 Null 子对象

javascript - 使用 JavaScript 解析来自外部站点的 json

java - 如何在JAVA中建立MySQL连接