CNode

在请求处理里面赋值的req.session.user 在ejs里要怎么才能拿到

Zzizihjk发布于13 年前最后回复12 年前10 回复12340 浏览0 收藏

在请求处理里面赋值的req.session.user 在ejs里要怎么才能拿到啊?req、 session、 request都说没undefied??

查看回复

回复 (10)

Y
yimity#1·13 年前

render 的时候要把这个参数传进去才行。

Z
zizihjk#2·13 年前
引用 yimityrender 的时候要把这个参数传进去才行。

那我要在页面判断是否登录了,如果有很多页面不是要传很多次

Y
yimity#3·13 年前
引用 yimityrender 的时候要把这个参数传进去才行。

@zizihjk 在 route 的时候就判断是否登录。

C
czing#4·13 年前

res.locals

Z
zizihjk#5·13 年前
引用 yimityrender 的时候要把这个参数传进去才行。

@yimity 那我要在页面根据时否登录 做不同的显示呢?

Z
zizihjk#6·13 年前
引用 czingres.locals

在页面 怎么拿?

Y
yimity#7·13 年前
引用 czingres.locals

看了下文档,这个确实好用。

K
kvkens#8·12 年前

楼上的,你回的是坟贴哦。

Z
zizihjk#9·13 年前
引用 czingres.locals

@yimity 哦谢谢你,(对了,cnode好像没有回复提示?)

H
huawumingguo#10·12 年前

res.locals.errmsg = req.session.errmsg; 界面是直接<%= errmsg%>

一般来说,可以这样写,类似一个拦截器,注意要写在路由的前面: app.use(function(req, res, next){ res.locals.errmsg = req.session.errmsg; next(); }); app.use('/', routes);//路由

如果路由写在前面了,就不成了,

当然,你也可以每次请求的时候,都写上 res.locals.errmsg = req.session.errmsg; 这样ejs就能拿到。

参与回复
登录后即可参与回复。登录