CNode

有个关于app.locals赋值的问题请教下大神:

问答
IIfAaron发布于11 年前最后回复11 年前4 回复5050 浏览0 收藏

1.大概逻辑就是在登陆的时候,把user对象保存到session里面,并跳转到首页,然后再首页里面,通过req.session.user获取这个user对象,并且赋值给app.locals,最后在页面的header里面根据user是否存在,来判断前端显示“注册/登陆”还是显示“welcome userName”,下面是具体代码 1) 1.png 2) 2.png 3) 3.png 4) 4.png

查看回复

回复 (4)

N
Neil-UWA#1·11 年前

用res.locals

I
IfAaron#2·11 年前
引用 Neil-UWA用res.locals

@Neil-UWA 刚刚试了下,果然有用,但是为什么会出这种问题啊,

N
Neil-UWA#3·11 年前

jade会自动读取res中的Locals的,而不是app的,况且 user的信息也不应该存放在app.locals中。

I
IfAaron#4·11 年前
引用 Neil-UWAjade会自动读取res中的Locals的,而不是app的,况且 user的信息也不应该存放在app.locals中。

@Neil-UWA 嗯嗯,又去仔细查了下jade,一半session里面的信息确实是放到res里面的,谢谢大神指教。昨晚又发现一个新问题,忙了好久都不知道怎么弄,我是表单里面放了一个隐藏域,放的对象的id属性,是在post请求时用来区分新建还是更新对象的,然后一直报那个异常,google了一下,都说是body-parser中间件没有安装,可是我明明安装了 异常截图: untitled1.png

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