gpt4 book ai didi

node.js - 如何在ejs中获取session值

转载 作者:搜寻专家 更新时间:2023-10-31 22:21:51 25 4
gpt4 key购买 nike

我正在使用 session (使用 express 和 Node )制作一个登录模块。当用户登录后,我将用户保存在 session 中。

req.session.user= ...

如何在 .ejs View 中获取 session 值,例如:

<label>
您好!<%= req.session.user.username %>
</label>

但这行不通。

我可以这样做:

router.get('/home',function(req, res){

var val = req.session.user;
res.render('home',{user:val});


});

.ejs:

<p>
您好!<%= user.username %>
</p>

可是这样太麻烦了。什么是更好的方法?

(在 php 中,我可以只使用 $_SESSION 来获取 View 文件中的值。)

最佳答案

您可以使用 res.locals将特定数据公开给所有模板。

在您的情况下,您可以将以下中间件添加到 Express:

app.use(function(req, res, next) {
res.locals.user = req.session.user;
next();
});

这将使 user 变量在您的所有模板中可用。

您确实需要确保在 req.session 设置之后添加中间件(通常在 express-session 之后)已添加到中间件链中)。

关于node.js - 如何在ejs中获取session值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37183766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com