我有一个显示一些数据的网页。我有一个python脚本,不断更新数据(从数据库中提取数据,并将其写入html页面)。脚本需要大约5分钟来获取数据。我将html页面设置为使用元标记每60秒刷新一次。但是,我想更改它并在python脚本更新后立即刷新页面,所以基本上我需要在我的python脚本中添加一些代码,一旦写完它就刷新html页面。
这可能吗?
答案 0 :(得分:1)
如果不进入像WebSockets这样复杂的现代事物,服务器就无法将通知“推送”到Web浏览器。但是,您可以做的是让客户端以用户不可见的方式检查更新。
它将涉及编写Javascript&写一个额外的文件。在编写主网页时,在Javascript中添加一个时间戳(这里的Unix时间戳最简单)。您还将相同的时间戳写入Web服务器上的文件(我们称之为updatetime.txt
)。在页面上使用AJAX请求,您可以获取updatetime.txt&查看文件中的数字是否大于生成文档时存储的数字,如果看到更新的时间,请刷新页面。您可以更改“即时”更改被注意到的方式,但可以控制轮询的速度。
我不会在编写代码时详细说明,但我可能只是使用JQuery中的$.ajax()
(即使它对一个函数来说有点过分)来进行调用。在JS中使用某些东西的诀窍是setinterval
。您应该能够找到大量有关使用这两种文档的文档。