0

使用 jQuery 1.9.1 并在页面上运行一个间隔,每隔这么多秒检查一次 SQL 表是否有新数据。页面本身将(实际上)一直处于启动状态。

有一张桌子,上面有开始和结束时间。字段在 SQL 2012 数据库中,定义为TIME字段,时间为 24 小时格式。结束时间的示例如下: 15:59:59.99923:59:59.99907:59:59.999。开始时间分别08:00:00.00016:00:00.00000:00:00.000

我想在这些结束时间之后的某个时间刷新页面(强制页面重新加载)。还不确定之后多长时间,但假设 3 分钟。也有可能会出现一个弹出页面,该页面需要关闭,并且可以在刷新/重新加载主页时重新打开。此外,即使页面应该已启动,我也不能假设它在开始时就已打开。

作为页面加载的一部分,我会重新查询表格并获得新的结束时间。此外,如果页面关闭并重新打开,也会重新查询并获得新的结束时间。

使用setInterval还是setTimeout这样做更好,如果是,怎么做?

4

1 回答 1

1

由于您只想刷新页面,我相信您会想要使用 setTimeout。setInterval 每 [interval] 秒执行一次表达式,setTimeout 是在给定时间后执行一次。我相信完成你想做的最好的方法是在后端合并时间计算。也就是说,在您的 PHP(或您使用的任何服务器端语言)中获取当前时间,计算当前时间和“结束时间”之间的时间量(然后添加 3 分钟),然后将该变量传递给您的设置超时功能。如果您不介意 ajax 将花费几秒钟,您可以在页面加载时执行此操作,或者在页面加载后立即进行 ajax 调用。这样,每次加载页面时,它都会使用当前时间量更新,直到“结束时间”。

于 2013-07-10T20:42:05.943 回答