Node.js:res.render还是res.redirect?快递会话

时间:2016-06-30 16:22:49

标签: node.js redirect express render express-session

我有两个页面,login和myservices。用户登录后,会将其带到myservices页面,并显示其用户名。

在login.js中,我有:

req.session.user = "abc";
res.redirect('/myservices');

在myservices.js中,我有:

router.get('/', function(req, res, next) {
  console.error("went through get in my services");
  console.error(req.session.user);
  res.render('myservices', {
    user: req.session.user
  });
});

在我的模板(myservices.ejs)中,我尝试打印出用户:

<%if(user){%>
  <%=<p>user</p>%>
<%}%>

每当我登录时,我都会被重定向到myservices页面并且控制台会显示

went through get in my services
abc

但是在浏览器中,在刷新页面之前它不会打印出“abc”。为什么第一次没有渲染到myservices.ejs而是第二次?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

你还没有第一次通过当地。在login.js中渲染而不是重定向并传递本地。

req.session.user = "abc";
res.render('myservices', {
    user: req.session.user
});