bra*_*zzi 12 javascript redirect node.js express
在我的Node.js应用程序中,我有一个函数(由Express路由)向用户呈现一个表单:
app.get('/register', function (req, res) {
res.render('form');
});
Run Code Online (Sandbox Code Playgroud)
我有另一个功能,路由到相同的URL,但处理POST请求,接收上一个表单提交的数据.如果表单未验证,则会将用户重定向回表单; 否则,它做了应该做的事情:
app.post('/register', function (req, res) {
if (validate(req.registerForm)) return res.redirect('back');
persistStuff(req.registerForm, function (err, data) {
// Do error verification etc.
res.redirect('back')
});
});
Run Code Online (Sandbox Code Playgroud)
我想要做的是发送一条错误消息,在行中:
if (validate(req.registerForm)) return res.redirect('back');
Run Code Online (Sandbox Code Playgroud)
写点东西
if (validate(req.registerForm)) return res.render('form', {msg:'invalid'});
Run Code Online (Sandbox Code Playgroud)
是不可接受的,因为我想遵循POST-REDIRECT-GET模式.我可以做点什么
if (validate(req.registerForm)) return res.redirect('/register?msg=invalid');
Run Code Online (Sandbox Code Playgroud)
但它会在我的代码中对URL进行硬编码,我宁愿避免使用它.还有另一种方法吗?