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'); });