Express中res.render()和res.redirect()的正确用法是什么?

net*_*ica 14 javascript node.js express

我在解读之间的模糊性方面遇到了一些麻烦

res.render('viewname', {msg: 'Message' }) 
Run Code Online (Sandbox Code Playgroud)

res.redirect('route')
Run Code Online (Sandbox Code Playgroud)

重定向功能不允许您传递"消息",但您可能仍然想要,并且渲染功能将呈现您的视图,但它不会更改您的Web应用程序的URL,也不会触发所需的功能你的路线.

我遇到的情况是我有一个邀请表单,它有一个更改我的URL的操作,并在该路由触发一个成功和失败回调函数,我想用一个消息将用户重定向到仪表板表示成功或失败.

cho*_*ovy 22

看看connect-flash使用rails样式的消息闪烁.

res.render()将使用传递给它的数据呈现视图,res.redirect()会将用户重定向到另一个页面(此时请求重新开始)

  • 我认为如果另一个库提供功能,他们将其删除。我大部分都同意这种逻辑,只是当他们删除您依赖的东西时可能会感到沮丧。我使用ejs-locals来获取布局/块/部分。 (2认同)