2013-03-19 55 views
1

基本上,我創建了一個使用Jade作爲其模板引擎的NODEJS應用程序,以及Express和MySQL數據庫。動態牆更新:NodeJS

我在創建一個允許用戶共享一部分文本的新頁面,然後名爲「Wall」的下面的div將隨新狀態動態更新。

基本上,它理想上與Facebook類似,其中鍵入,共享,然後頁面動態更新。我還希望在用戶朋友分享新帖子時更新牆壁頁面。用戶共享的所有更新將被髮送到數據庫。

我進行了大量的搜索,但似乎無法收集正確的答案。 我已經縮小到使用以下任一項:JQuery,Ajax,PHP。

由於我正在建設的網站是建在JS - 什麼是我最好的選擇?

我對這一切都很陌生,但我假設當用戶點擊共享它調用一個JS文件,然後將更新存儲在數據庫中。但是,如何讓我的「牆」刷新新內容?

任何幫助非常感謝。

回答

0

您提出了一個概念性問題。因此,我會盡我所能解釋一些您可以選擇的概念選項,以便進一步探索並針對如何在項目中最好地實施自己的研究進行自己的研究。

你有兩條路要走。 在成功的AJAX寫入數據庫後,您可以擁有自己的牆更新(在UI側進行刷新/重新渲染),這將在您的AJAX回調函數中實現 - 基本上是在執行後的JS函數您的寫入請求(提交新帖子)到數據庫返回成功。

    的,你可以探索的選項完全是另外一個分支,是實現以下任一選項更改服務器端基本上都是「聽」,並有重新呈現在您使用回調反應

  1. Polling - 基本上每隔X個號碼發出一個請求 秒以檢查服務器端是否存在更新或狀態更改 。

  2. WebSockets - 結帳Socket.io。通過這個,你可以將服務器端的消息「推」到你的客戶端。值得注意的是,每個瀏覽器都沒有普遍支持WebSocket,而且根據以往的經驗,我發現WebSocket協議甚至因瀏覽器版本而異。所以如果你需要普遍的支持,我會選擇輪詢方式。

祝您的項目好運,希望這有助於您!

+0

Socket.io似乎是下一個端口,感謝您的幫助:) – 2013-03-20 20:39:50

0

使用...

setTimeout(function(){ 
    /* update wall here */ 
}, 1000) 

輪詢你的 「牆」 後端和更新的內容。