如何在Express.js中重新加载当前页面?

nfp*_*zyf 24 node.js express

我当前在/id/1234页面中,然后单击一个POST /add按钮,之后我想/id/1234在Experss.js中重新加载:res.redirect(**How to get /id/1234 dynamicly, since I will be in /id/1235, /id/1236 page do a same POST /add action?**)

谢谢.

Sea*_*son 49

我只想在Express版本4.x中添加它,你可以使用它

res.redirect('back');
Run Code Online (Sandbox Code Playgroud)

自动重定向回请求来自的页面.这是等效的

res.redirect(req.get('referer'));
Run Code Online (Sandbox Code Playgroud)

这是中提到彼得·莱昂斯答案

另见:http://expressjs.com/api.html#res.redirect


Pet*_*ons 18

为了给出你可能想要的答案,浏览器将发送一个名为的页眉[Referer][1],其中包含/id/1234页面的URL ,所以:

res.redirect(req.get('referer'));
Run Code Online (Sandbox Code Playgroud)

但是,如果需要执行此操作,则URL路径设计可能很差.更好的选择可能是通过AJAX提交表单而不更改URL或1234在表单正文中包含id,并使用POST请求中的该值为相应的重定向生成正确的URL.


小智 10

我使用express 4.x你可以这样写

res.redirect(req.originalUrl)
Run Code Online (Sandbox Code Playgroud)


Bra*_*uck -1

res.redirect("/id/1234")
Run Code Online (Sandbox Code Playgroud)

您只需提供您希望重定向到的路径(或完整 URI)。

如果你的 id 在帖子数据中:

res.redirect("/id/" + req.body.id);
Run Code Online (Sandbox Code Playgroud)