ano*_*fox 6 node.js express handlebars.js
我试图将我的会话变量传递给我的把手模板,但我遇到了困难.现在我在app.configure函数中使用它:
app.use(function(req, res, next){
res.locals.session = req.session;
console.log(res.locals.session);
next();
});
Run Code Online (Sandbox Code Playgroud)
它正确记录到控制台,但是当我尝试在我的把手模板中使用"session"变量时,没有任何显示.这是我的模板的一部分:
<body>
<nav>
{{> topBarPartial}}
{{> secondaryBarPartial}}
</nav>
<div>
<p>before</p>
{{session}}
<p>after</p>
{{> mainPartial}}
</div>
{{> footerPartial}}
</body>
Run Code Online (Sandbox Code Playgroud)
以下是控制台记录的内容:
{ cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true },
userId: 45253262,
name: 'Austin' }
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我终于找到了我的解决方案。原来我是这么称呼的:
app.use(function(req, res, next){
res.locals.session = req.session;
console.log(res.locals.session);
next();
});
Run Code Online (Sandbox Code Playgroud)
后
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)
它实际上需要在 app.router 之前,但在之后
app.use(express.session({
secret: '***********'
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5687 次 |
| 最近记录: |