2010-08-27 121 views
24

对于需要非常迅速刷新数据的应用程序,使用JavaScript轮询服务器的最佳实践是什么?我使用jQuery作为前端,Java Spring Framework作为后端。使用JavaScript进行服务器轮询

刷新数据的示例可能是非常迅速(每1秒)更新得到更新的项目列表。

+1

定义十分迅速。一分钟?每十秒一次?每秒一次?什么样的数据? – 2010-08-27 10:21:33

+0

每隔1秒钟,数据就会显示文字,也许一些html数量很小 – newbie 2010-08-27 10:23:08

回答

39

您可能想要使用jQuery's Ajax functions来每隔一秒左右轮询服务器。然后服务器可以近乎实时地向浏览器发出指令。

您也可以考虑long polling而不是以上,以减少等待时间而不增加投票的频率。

引用Comet Daily: The Long-Polling Technique

的长轮询彗星技术是优化传统的轮询以减少等待时间的技术。

传统的轮询以固定的时间间隔向服务器发送XMLHttpRequest。例如,每15秒打开一个新的XMLHttpRequest,收到即时响应并关闭连接。

长轮询发送一个请求到服务器,但是一个响应不会返回给客户端,直到有一个可用。一旦连接关闭,无论是由于客户端收到响应,或者如果请求超时,都会启动新的连接。其结果是显着减少了延迟,因为服务器通常在准备好返回信息以返回客户端时建立了连接。

除了上述,我也建议你看看接受的答案下面的堆栈溢出后为长轮询技术的详细描述:

+0

+1非常有趣!“ – 2010-08-27 10:25:28