【发布时间】:2020-08-19 03:38:25
【问题描述】:
我是后端开发的新手(使用 NodeJs Express)。 这是一个非常基本的问题(我没有找到任何关于它的好教程) 问题是:
我有这行代码:
app.get('/test', function (req ,res){
res.send('test');
});
我想做的是:后端只发送res 到前端,如果前端先发送一些 JSON。
就像后端会向前端显示一些东西,前提是前端先发送 JSON;
如何处理?写什么代码?
或者在谷歌搜索中输入什么来找到这种教程
【问题讨论】:
-
您正在使用 node.js 构建一个 REST API。在 REST 中,我们不保留状态。当我们收到请求时,我们会处理和响应。在前端,您可以等到收到响应。使用 Promise、async-await 或回调来等待前端的响应。要处理传入的 JSON 正文,请使用 body-parser。根据请求正文,您可以处理和发送响应。 PS:每个请求都应该得到响应。这就是 REST 的行为方式。
-
如果“先发送一些 JSON”是指先前的请求,那么您需要一个会话中间件来跟踪请求,因此当您处理请求时,您会知道“哦,我记得这个前端的家伙,他之前发送了一个 JSON。”基本上,在设置了像
express-session这样的会话管理中间件之后,每个请求处理程序中都有req.session,并且它在来自特定前端的每个请求之间共享。因此,您可以将req.seesion.hasSentJSON设置为true作为前端。