小编典典

如何结束express.js /节点POST响应?

node.js

在将文档保存到数据库后,我试图停止发布请求,即:

app.post('/blah'), function(req,res){ 
//my code does a bunch of stuff

res.what do i put here to tell the client browser to just... stop the POST
}

目前,我只是简单地使用res.redirect('back')哪个起作用,但是页面刷新是完全任意的,我希望它不会发生。我去了,res.end();但是那把客户带到了空白页。

提前致谢。

编辑:

我认为我在对不起我做事时不够清楚。

也许是不好的做法,但这正在发生:

  1. POST启动数据库保存功能

  2. 浏览器坐在附近等待响应

  3. 准备就绪后,将obj保存到数据库,然后回调触发一个 NowJS 函数,该函数将项目添加到视图(适用于所有人)

我这样做是为了不阻塞(所以我认为)


阅读 304

收藏
2020-07-07

共1个答案

小编典典

您可以使用res.end并传递要发送给客户端的字符串:

res.end('It worked!');

或者,您可以渲染视图,然后结束响应:

res.render('blah.jade');
res.end();

综上所述,重定向客户端实际上是最佳实践。这样一来,当他们在浏览器中单击“后退”按钮时,它们可以无缝地向后移动,而不会出现任何“需要POST”的弹出窗口等。这是POST
/重定向模式,您可以在http://en.wikipedia.org/wiki/Post/Redirect/Get上阅读有关它的更多信息。

2020-07-07