node.js和expressjs使用URL参数呈现模板

目前,用户使用邀请ID来到我的注册页面

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

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

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

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

http://www.mysite.com/user/register (它错过了invite_id)

我如何传递一个URL res参数与res渲染?

如果我做:

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

它实际上正在寻找50e203 ….文件,并给我没有find404

谢谢!

res.render()app.get()混淆了吗? 看起来你试图在第二个例子中指定一个路由: res.render('user/register/50e203eb4d37bdfd22000042'... – 但res.render不指定路由,你需要app [METHOD]应用程序是一个快速实例。

为了处理到/ 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'); });