我正在尝试为我的网站制作一个刷新算法,但不希望将一堆$.post()
脚本发送到服务器检查更新。所以我想知道当数据库上的某些内容发生变化时,是否有任何好的方法可以向正在查看的页面发送更新。
答案 0 :(得分:0)
您可以使用html5网络套接字
您需要一台服务器,P2P在浏览器之间不起作用。请参阅:Do I need a server to use HTML5's WebSockets?
Websocket(HTML5套接字)是一种在浏览器和服务器之间建立双向开放连接的方法。否则你将不得不使用仅拉动的XHR(也就是Ajax)。 Mozilla写了一篇很棒的文章,解释了他们是如何构建的:BrowserQuest(或者只是播放它:http://browserquest.mozilla.org/)
替代方案通常基于Flash XMLSocket!
答案 1 :(得分:0)
执行此操作的常用方法称为Comet。
基本上,您创建一个XMLHttpRequest
,将其发送到服务器并等待。服务器保持连接打开,并在每次服务器端发生事件时发送数据然后关闭它。它也可以不发送任何东西,每30秒关闭一次以清理一些东西。
WebSockets 是一项相当新的技术,它将成为未来的发展方向,但我鼓励您立即使用 Comet ,除非您想要在网络开发的最前沿发挥一些作用。