我目前正在开发一个网站,其中有许多用户发布主题,并且相关主题的评论显示在页面中。目前我正在使用 cake php 进行开发。
用户第一次点击网站时,会显示所有主题和评论。但是当其他用户添加新主题或对主题发表评论时,我需要在同一页面中显示更新。我很困惑如何才能检索新内容并在页面中进行相应更新。例如,当您的 friend 添加状态或对您的状态发表评论时,facebook 是如何做到的,它会在不刷新页面的情况下进行更新。
我知道使用了 AJAX 技术,但它是如何实现的。我可以引用的任何来源?希望有人能提供帮助,因为我过去一周一直在做研究,但到目前为止还没有答案。
最佳答案
你可以在这里走两条路。
服务器推送
http://en.wikipedia.org/wiki/Push_technology
这种技术可能是最有效的,因为服务器会通知客户端任何更新。然而,这种技术通常比简单的轮询系统需要更多的工作。你可以使用类似 nodejs 的东西或 Comet推送更新。如果您使用的是 nodejs,我强烈建议您使用 SocketIO处理客户端。使用 Socket.io,您可以让客户端在 channel 上监听服务器,以便服务器可以在更新发生时通知客户端。
客户端轮询服务器
在此版本中,客户端(新访客浏览器)不断轮询服务器以获取更新。您可以设置任何您想要的间隔,但请记住,如果您将轮询间隔设置得太小,您的服务器可能会受到性能影响,因为每个新用户都会创建许多请求。此方法与在 JS 中设置 setInterval()
调用以及 AJAX 调用一样简单。
关于javascript - 如何提取新帖子和评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7132758/