Node.js Express-在用户成功登录后尝试重定向

Node.js Express-在用户成功登录后尝试重定向,node.js,express,handlebars.js,Node.js,Express,Handlebars.js,我显然没有得到一些核心节点的概念。从数据库验证用户后,数据库返回一个对象(“pass_to_html”)。我想将该对象的结果呈现到使用Handlebar的新页面上 我从login_handler.js(服务器js从数据库执行验证和推拉操作)中获得的缩写代码: 来自dashboard.js router.get('/', function(req, res, next) { res.render('dashboard') }); 从app.js: app.use('/dashboard', da

我显然没有得到一些核心节点的概念。从数据库验证用户后,数据库返回一个对象(“pass_to_html”)。我想将该对象的结果呈现到使用Handlebar的新页面上

我从login_handler.js(服务器js从数据库执行验证和推拉操作)中获得的缩写代码:

来自dashboard.js

router.get('/', function(req, res, next) {
res.render('dashboard')
});
从app.js:

app.use('/dashboard', dashboard);
从dashboard.hbs:

<h1> Welcome  {{trainer_name}}! </h1>
登录处理程序:

function getTheeToDashboard(pass_to_html){
  app.get('/flash',function(req,res){
    req.flash('info','Flash is back!')
    res.redirect('/dashboard')
  })
}
dashboard.js:

router.get('/', function(req, res, next) {
 res.render('dashboard',{messages: req.flash('info')})
});

不能在同一请求中重定向和呈现新页面

重定向是对一个请求的响应,并告诉客户端发出另一个请求

然后,客户机可以发出另一个请求,您可以向该请求发送另一个响应。这是一个分两步的过程。(如果要进行重定向。)

您需要在重定向重定向重定向到的目标路由的GET处理程序中,而不是在重定向重定向重定向的源路由的POST处理程序中,向模板提供正确的数据

如果需要,可以使用
connectflash
模块在这两个请求之间传递数据,但也可以使用secind请求处理程序中的会话数据

见:


文档中有很好的例子。

谢谢,这应该可以,但我还没有。我查看了其中的每一个,唯一一个半干净安装的是connect flash plus。我的dashboard.js在重定向到的/dashboard上为什么不匹配?应该是:
router.get('/dashboard',function(req,res,next){res.render('dashboard'),{messages:req.flash('info')});
function getTheeToDashboard(pass_to_html){
  app.get('/flash',function(req,res){
    req.flash('info','Flash is back!')
    res.redirect('/dashboard')
  })
}
router.get('/', function(req, res, next) {
 res.render('dashboard',{messages: req.flash('info')})
});