【问题标题】:Node.js: to res.render or to res.redirect? express-sessionNode.js:到 res.render 还是到 res.redirect?快速会话
【发布时间】:2016-07-01 00:30:12
【问题描述】:

我有两个页面,登录和我的服务。用户登录后,他们将被带到 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,而是第二次渲染?

非常感谢任何帮助!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 如果我从 login.js 渲染到 myservices,我的 url 最终将是 /login。我希望我的 url 是 /myservices,有什么方法可以实现吗?
    猜你喜欢
    • 2016-06-13
    • 2012-01-10
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 2015-08-12
    • 2018-02-12
    • 2012-05-28
    • 2019-10-13
    相关资源
    最近更新 更多