我正在研究node.js并表达。使用jade作为我的模板引擎。我正在显示一个静态的导航栏。我将它保存在layout.jade中。我有一个登录表单,需要在导航栏上显示用户名。我使用会话来存储用户名并使用 req.app.locals.env = req.session.username; 。
现在用户名是全局的,可以在布局中使用。它的工作。但问题是,当我在不同的浏览器中打开两个用户时,仅为导航栏中的所有剩余用户显示最近登录的用户名。任何人都可以帮助我吗?
这是我输出的截图。
a user logged in chrome(suresh)
another user logged in firefox(user)
我输出中的Navbar在layout.jade中,我在所有视图中都进行了扩展。我在不同的浏览器中打开了两个用户。 问题是当我点击视图,插入,回家导航栏中的任何按钮时,在navbar中将名称“suresh”更改为“user”。因为我将名称显示为gobal并存储会话值以在布局中取消显示名称。玉。有没有其他方式在布局中显示用户名?
答案 0 :(得分:0)
那是因为你在会话中保存用户名,会话在最近登录后会更新。 最好的方法是将usersInfo发送到渲染路由。
res.render('/home', { userInfo: userInfo });