【问题标题】:Reload page using jQuery based on table values使用基于表值的 jQuery 重新加载页面
【发布时间】:2013-07-10 20:28:13
【问题描述】:

使用 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 分钟。也有可能会出现一个弹出页面,该页面需要关闭,并且可以在刷新/重新加载主页时重新打开。另外,即使页面应该是打开的,我也不能假设它是在开始时打开的。

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

使用setIntervalsetTimeout 这样做更好吗?如果可以,怎么做?

【问题讨论】:

  • setInterval 将使其每 X 秒运行一次,而 setTimeout 使其在 X 时间过去后运行一次。如果整个页面正在重新加载(包括重新加载脚本)setTimeout 可能会更好。

标签: jquery sql time settimeout setinterval


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 2011-04-18
    • 2011-02-22
    • 1970-01-01
    相关资源
    最近更新 更多