Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新表的修改内容字段并将其显示给用户的理想时间是什么?_Javascript_Mysql_Ajax_Setinterval - Fatal编程技术网

Javascript 更新表的修改内容字段并将其显示给用户的理想时间是什么?

Javascript 更新表的修改内容字段并将其显示给用户的理想时间是什么?,javascript,mysql,ajax,setinterval,Javascript,Mysql,Ajax,Setinterval,我在一个应用程序中工作,我必须向应用程序用户显示此页面的内容被修改如下: 1 min ago 5 min ago 2 days ago something... 那么,触发ajax调用以获取db中内容的最后修改日期并向用户显示的理想时间间隔应该是什么呢 JavaScript有setInterval(),我们可以在其中设置函数(触发ajax调用并获取最后修改的日期)和时间间隔(基于该时间间隔调用函数来触发ajax调用) 我之所以这么问是因为在几秒钟内启动ajax调用会被认为是应用程序的开销 请就

我在一个应用程序中工作,我必须向应用程序用户显示此页面的内容被修改如下:

1 min ago
5 min ago
2 days ago
something...
那么,触发ajax调用以获取db中内容的最后修改日期并向用户显示的理想时间间隔应该是什么呢

JavaScript有setInterval(),我们可以在其中设置函数(触发ajax调用并获取最后修改的日期)和时间间隔(基于该时间间隔调用函数来触发ajax调用)

我之所以这么问是因为在几秒钟内启动ajax调用会被认为是应用程序的开销

请就此向我提出建议。 提前谢谢

编辑:
我很感激你的评论和检查插件。但每当对DB表进行任何更改时,都会有一个具有modifiedDate字段的父表,该字段在每次更改时都会更新,并且我必须向用户显示该字段。

您不希望浪费对DB的调用来获得间隔。没有一个时间间隔是正确的,它只是毫无意义的更新

只需使用一个简单的JavaScript插件,如

它只需打印原始日期/时间,其余的插件会在用户查看页面时自动更新用户,因此此日期:

<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr>
2008年7月17日
为用户转换为:

<abbr class="timeago" title="July 17, 2008">5 years ago</abbr>
5年前

无需重复发送ajax请求。只需获取包含主要内容的日期/时间,并将其放置在HTML中的隐藏字段中。然后使用javascript/jquery,获取该日期/时间并对其进行处理,并将其显示在适当的位置

除非您熟悉WebSocket,否则我会每分钟打一次电话,或者每分钟刷新一次页面,这样您就可以准确地获取上次修改的日期

setTimeout(function(){ location.reload() }, 60 * 1000);

无需发送Ajax调用。发送文档的实际更新时间,让Javascript计算并更新“时间前”@MikeW,我很感谢你的评论和检查插件。但每当对DB表进行任何更改时,都会有一个具有modifiedDate字段的父表,该字段在每次更改时都会更新,并且我必须向用户显示该字段。若要进一步评论您更新的问题:没有正确的间隔,您必须使用comet或socket.io之类的工具才能在更新时将更新发送到客户端change@Jakub,我在检查如何定期更新所有内容时听说了它,但它仍然是一个轻量级网站。但是谢谢你的帮助。我只是想确认一下是否启动ajax调用,以最大限度地减少站点的总体过载。再次感谢。我很感激你的回答和检查插件。但每当对DB表进行任何更改时,都会有一个具有modifiedDate字段的父表,该字段在每次更改时都会更新,我必须向用户显示。好吧,您最初在问题中并没有概述这一点。我仍然会说,使用这种方法或者更复杂一些,取决于您获得的值的多少,只需对页面上的所有记录执行一次单间隔检查(返回JSON并进行更改,并根据需要更新所更改的内容)。这个插件仍然可以让事情变得更美好