簡體   English   中英

如何使用節點更新當前頁面而不刷新它?

[英]How to update a current page without refreshing it using node?

我正在嘗試使用 MEAN 堆棧創建一個類似於 Facebook 主頁的網頁。 因此,當您添加新帖子時,頁面會在不刷新的情況下添加帖子。 如果我刪除帖子,頁面也會刪除帖子而不刷新頁面。

我應該使用 Ajax、Socket io 還是其他? 不太確定實現它的最佳實踐是什么。

如果你有一個有效的例子,那就太好了。

謝謝

您要求的是一種稱為 server-push 的情況,您希望服務器能夠通知打開的網頁有關某種更改的信息,以便頁面中的 Javascript 可以更新頁面的顯示而無需重新加載它。

現代瀏覽器中實現服務器推送的常用方法是建立一個從瀏覽器網頁回服務器的 webSocket 連接。 這個 webSocket 連接將保持打開狀態,服務器可以隨時向網頁發送消息(宣布新帖子或刪除的帖子),然后網頁中的 Javascript 可以相應地更新顯示。

在 node.js 和所有瀏覽器中工作的 webSocket 的常見實現是您提到的 socket.io 庫。 它在 webSockets 之上添加了一些有用的功能,例如自動重新連接和簡單的消息傳遞系統。

另一種效率較低的方法是讓每個網頁向服務器發送一個重復的 ajax 調用(比如每分鍾),詢問最近發生了什么變化。 但是,由於這會導致大量 ajax 調用沒有任何變化,這最終會顯着降低服務器負載和帶寬使用的效率。

SocketStream 是一個很好的解決方案: https : //github.com/socketstream/socketstream

有很多例子。 這將需要一些時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM