【问题标题】:How to access a session variable in view ejs?如何在视图 ejs 中访问会话变量?
【发布时间】:2018-08-08 11:57:05
【问题描述】:

一旦用户登录,我想在会话中保留他的详细信息并在 ejs 模板中访问这些信息。我如何做到这一点?

app.post('/registration', function(req, res) {
    var name = req.session.user_name = req.body.user_name;
    res.render('pages/registration-data');
});

我想从我拥有的所有 .ejs 模板中访问 req.session.user_name(如果该模板已初始化/和/或存在于会话中)。这是正确的做法吗?

【问题讨论】:

    标签: node.js express ejs


    【解决方案1】:

    您可以使用res.locals 对象在会话中存储用户/会话详细信息,可从任何模板获得

    http://expressjs.com/en/api.html#res.locals

    app.post('/registration', function(req, res) {
        var name = req.session.user_name || req.body.user_name;
        res.locals.user_name = name;
        res.render('pages/registration-data');
    });
    

    【讨论】:

    • 我已经试过了。但随后它也进入了registration-data.ejs。它没有显示在其余页面中。
    • 您必须将此表达式放在第一个身份验证中间件中并调用 next()
    猜你喜欢
    • 2012-08-22
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 2015-06-29
    • 2017-06-09
    相关资源
    最近更新 更多