2015-08-15 32 views
1

的業務邏輯我已經開發webapp(ReactJS,Flux,React-router; Server:NodeJS,Express) 它最初只加載html(同構方式)。ReactJS webapp

現在我需要隱藏客戶端的一些業務邏輯。 例如,我有評分系統。 只有當他沒有投票之前,用戶才能投票。 我想,應該是這樣的: 用戶推送投票按鈕。這個按鈕的處理函數發送對象到服務器端:

{ 
userName: login, 
password: password, 
votedObjectId: objectId 
} 

服務器應當檢查,如果該用戶在數據庫中存在(使用用戶名和密碼),如果該用戶已爲此對象之前投票(按用戶名和votedObjectId )。 如果一切正常,服務器應添加行到評級表(userName和votedObjectId)

我不知道如何實現它。

我想,我應該在server.js文件中創建一個包含這個邏輯的js方法。客戶端應該觸發這個方法。客戶端如何發送請求到server.js?

回答

1

您有正確的想法,您需要將您的交互發布到服務器並讓它處理業務邏輯。由於你的問題是如何發送請求到服務器來觸發這種行爲,我猜你還沒有在你的應用中實現任何RESTful層。

Express.js完全有能力做到這一點,所以我會尋找一個關於使用Express框架從客戶端到服務器實現簡單REST調用的教程。您需要決定如何處理來自瀏覽器的AJAX調用,無論是通過諸如使用JQuery的簡單方式還是使用更完整的建模層(如Backbone等)。

這在我看來,技術的清單,你開始被忽略了此層您的文章,並自作出反應是「查看」,在MVC,並作出反應,路由器是「控制器」(樣-的),你仍然需要「模型」部分 - 在JavaScript世界中表示服務器API的一些方法。