我现在已经遇到了一段时间的后端问题而且Express JS让它变得特别困难。但是,我认为我应该受到责备,因为我一直在使用它是 MVC框架生成器的方法,或者它可能是一个有助于身份验证的框架 。但是,如果我是正确的,Express JS应该反映一切RESTful API。不只是用户注册(POST)和登录(GET)。
这是我需要澄清的地方。从现在开始,在与数据库交互时始终使用RESTful API是最佳做法吗?我遇到的一个真正问题是用户表和赞表。
如果用户点击了照片上的按钮,我想做的事情如下:
INSERT INTO赞(user_id,photo_url)VALUES(current_user,url);
这样做的方法是什么?如何告诉 like按钮引用API?它不像注册表单,我们给它们起名字。或者我只是进入Express文件并开始定义路线?
答案 0 :(得分:0)
是的,您为希望客户能够进行的每个ajax呼叫创建快速路由。
以下是照片上“赞”按钮的一般事件顺序:
用户登录。这会在cookie中创建一种标识用户的状态(ID或更可能是服务器端会话)。
用户按下照片上的“赞”按钮。
附加到浏览器中的“赞”按钮的Javascript,获取当前的照片ID,并为" likePhoto"进行Ajax调用。使用当前照片ID作为Ajax调用的参数。
Ajax调用命中您之前设置的Express路由以处理此Ajax调用。
如果没有与此请求关联的登录用户会话,则可能会拒绝该请求(可能会返回与未经授权相关的一些错误代码)。
Express路由使用cookie来识别发出请求的用户,因此它现在具有照片ID和用户,因此可以进行数据库调用以将Like添加到数据库中。
数据库操作完成后,ajax调用可以返回200状态,无论什么响应都是合适的。