3

目前有一个用户带着邀请 ID 来到我的注册页面

示例:http ://www.mysite.com/user/register/50e203eb4d37bdfd22000042

页面加载和表单加载等......一切都很好。然后我做一些后端验证,如果验证失败,我用消息和表单数据调用 res.render:

res.render('user/register', {
    messages: messages 
    , form: form 

});

这一切都按预期工作,但是当渲染发生时,它会让用户回到:

http://www.mysite.com/user/register (缺少invite_id)

如何通过 res 渲染传递 URL 参数?

如果我做:

res.render('user/register/50e203eb4d37bdfd22000042', {
    messages: messages 
    , form: form 

});

它实际上正在寻找那个 50e203.... 文件并给我找不到 404

谢谢!

4

1 回答 1

4

你可能会混淆res.render()app.get()?看起来您正在尝试在第二个示例中指定路线:res.render('user/register/50e203eb4d37bdfd22000042'...- 但是 res.render 没有指定路线,您需要 app[METHOD] ,其中 app 是一个快速实例。

为了处理对 /user/register/someinvite 的 GET 请求,请使用:

app.get('/user/register/:invitation', function(req, res, next) {
// in here you can access the invitation id with req.params.invitation
  res.render('user/register');
});
于 2013-01-02T03:33:36.240 回答