ReactJS webapp中的业务逻辑

我已经开发了webapp(ReactJS,Flux,React-router; Server:NodeJS,Express)它最初只加载html(同构方式)。

现在我需要从客户端隐藏一些业务逻辑。 例如,我有评分系统。 用户应该只能投票,如果他以前没有投票。 我想,应该是这样的:用户按下投票button。 这个button的处理函数发送一个对象到serverSide:

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

服务器应该检查,如果这个用户存在于数据库(通过用户名和密码),并且如果这个用户之前已经投票了这个对象(通过userName和votedObjectId)。 如果一切正常,服务器应该添加行到评价表(userName和votedObjectId)

我不知道如何实现它。

我想,我应该在server.js文件中创build一个包含这个逻辑的js方法。 而客户端应该触发这个方法。 客户端如何发送请求到server.js?

你有正确的想法,你需要发布你的交互到服务器,并处理业务逻辑。 由于你的问题是如何发送请求到服务器触发这种行为,我猜你还没有实现任何RESTful层在你的应用程序。

Express.js完全有能力做到这一点,所以我会寻找一个教程,使用Express框架来实现从客户机到服务器的简单REST调用。 您需要决定如何处理来自浏览器的AJAX调用,无论是通过一些简单的方法(如使用JQuery)还是使用更完善的build模层(如Backbone等)。

在我看来,你开始使用的技术列表正在省略这个层,而且由于React是MVC中的“View”,而React-Router是(种类)“Controller”,所以你仍然需要“模型“部分 – 在JavaScript世界中表示您的服务器API的一些方法。