在Web应用程序中提供实时UI更新的建议模式是什么?例如,在回答SO上的问题时,另一个用户提交答案并出现提示。此外,如果站点中的每个页面都提供此功能,那么如何避免使用过多的AJAX调用来重载服务器?
答案 0 :(得分:4)
只需运行计时器并通过XmlHttpRequest
轮询服务器。这不像你需要即时更新; AFAIK,SO以30秒的间隔轮询,但这对我来说太慢了,所以我每隔15秒就会安装一个Greasemonkey脚本进行检查。
答案 1 :(得分:2)
我认为使用Comet是一种方法。(Comet Info here和here)
使用Comet,您可以在收到信息时推送答案或服务器上的任何信息,这样您就不会每隔X次从客户端请求信息。
但作为一个缺点,tvanfosson和Josh让我注意到,它将使HTTP连接在客户端读取状态下长时间被阻止。