javascript - 每 30~ 分钟从服务器检索数据的最佳方法?

标签 javascript django http comet long-polling

我一直在寻找可以使用来自服务器的新数据自动更新我的页面的选项。 我的数据可以从每 10 分钟更改一次到可能 1 小时,无法预测这一点。每当发生这种情况时,更改必须很快出现在屏幕上(不超过 15 秒)。

因此,一种选择是每 15 秒轮询并发送一个请求,但随后向服务器发送请求并在 30 多分钟内得到空结果听起来有点愚蠢。

但是如果我使用长轮询,那么长时间保持连接打开是否可以接受?如果将近一个小时没有新数据怎么办? 另外,如果我使用长轮询,我需要设置一些超时,不是吗?但是如果知道服务器上可能有新数据就结束连接,然后重新启动连接,就没有意义了。这将是间隔更长的定期轮询,不是吗?

如果有人能指导我找到解决我问题的最佳方法,我将不胜感激。提前致谢!

最佳答案

如果您必须支持旧版浏览器,轮询是您唯一的选择。

如果是这样的话,HEAD 方法就非常轻量级了,它可以只返回一个状态,表明事情已经发生了变化。

如果你能支持更新的浏览器,你可以使用上面提到的方法@MikeW,或者你可以看看WebSockets

我找到了 this discussion其中详细介绍了轮询。

关于javascript - 每 30~ 分钟从服务器检索数据的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891452/

相关文章:

javascript - 如何在文本框末尾连接一些只读文本?

javascript - 如何确保通过 ajax 加载的表上的逻辑选项卡顺序

php - SimpleTest - Web 浏览器 - 将身份验证传输到客户端

python - 如何在 Django 的列表迭代期间显示索引?

asp.net-mvc-3 - 如何在 ASP.NET MVC 上禁用 TRACE Http 方法

javascript - 修改XMLHttpRequest数据

python - 有没有通用的方法来实现列名称?

python - "def post"和 "if.request.method == POST "是一样的吗?

python - 在发送实际响应之前发送请求的间歇状态

forms - 表单提交中的 POST/GET Action