我应该为这个简单的事件使用API​​(Express JS)

时间:2016-08-19 17:11:02

标签: javascript node.js express

我现在已经遇到了一段时间的后端问题而且Express JS让它变得特别困难。但是,我认为我应该受到责备,因为我一直在使用它是 MVC框架生成器的方法,或者它可能是一个有助于身份验证的框架 。但是,如果我是正确的,Express JS应该反映一切RESTful API。不只是用户注册(POST)和登录(GET)。

这是我需要澄清的地方。从现在开始,在与数据库交互时始终使用RESTful API是最佳做法吗?我遇到的一个真正问题是用户表和表。

如果用户点击了照片上的按钮,我想做的事情如下:

INSERT INTO赞(user_id,photo_url)VALUES(current_user,url);

这样做的方法是什么?如何告诉 like按钮引用API?它不像注册表单,我们给它们起名字。或者我只是进入Express文件并开始定义路线?

1 个答案:

答案 0 :(得分:0)

是的,您为希望客户能够进行的每个ajax呼叫创建快速路由。

以下是照片上“赞”按钮的一般事件顺序:

  1. 用户登录。这会在cookie中创建一种标识用户的状态(ID或更可能是服务器端会话)。

  2. 用户按下照片上的“赞”按钮。

  3. 附加到浏览器中的“赞”按钮的Javascript,获取当前的照片ID,并为" likePhoto"进行Ajax调用。使用当前照片ID作为Ajax调用的参数。

  4. Ajax调用命中您之前设置的Express路由以处理此Ajax调用。

  5. 如果没有与此请求关联的登录用户会话,则可能会拒绝该请求(可能会返回与未经授权相关的一些错误代码)。

  6. Express路由使用cookie来识别发出请求的用户,因此它现在具有照片ID和用户,因此可以进行数据库调用以将Like添加到数据库中。

  7. 数据库操作完成后,ajax调用可以返回200状态,无论什么响应都是合适的。