我尝试使用MEAN堆栈创建类似于Facebook主页的网页。 因此,当您添加新帖子时,该页面会添加帖子而不刷新它。如果我删除帖子,页面将删除帖子而不刷新页面。
我应该使用Ajax,Socket io等吗?不确定实施它的最佳做法是什么。
如果你有一个有效的例子,那就太好了。
由于
答案 0 :(得分:1)
您要求的是一种称为服务器推送的情况,您希望服务器能够通知打开的网页有关某种更改,以便页面中的Javascript可以更新页面的显示而无需重新加载
现代浏览器实现服务器推送的常用方法是将浏览器网页的webSocket连接回到服务器。此webSocket连接将保持打开状态,服务器可以随时向网页发送消息(宣布新帖子或删除的帖子),然后网页中的Javascript可以相应地更新显示。
在node.js和所有浏览器中运行的webSocket的常见实现是您提到的socket.io库。它在webSockets之上添加了一些有用的功能,例如自动重新连接和简单的消息传递系统。
另一种效率较低的方法是让每个网页向服务器发送一个重复的ajax调用(比如每分钟),询问最近发生了什么变化。但是,由于这导致许多ajax调用没有任何变化,这最终会降低服务器负载和带宽使用效率。
答案 1 :(得分:0)
SocketStream是一个很好的解决方案: https://github.com/socketstream/socketstream
有很多例子。这需要一些时间。