【发布时间】:2015-09-08 18:01:22
【问题描述】:
当用户登录时,我将用户分配给 window.user 对象供客户端使用
请注意,我使用的是 passport.js,这意味着当用户通过身份验证时,req.user 将是一个有效的 mongoose 模型对象。否则 req.user 将是未定义的
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
locals.user 分配在我的路线中。在我的路由中间件中:
res.locals.user = JSON.stringify(req.user) //stringify in js instead of ejs, easier to write
最后一步,在我的 ejs 文件中:
<script type="text/javascript">
window.user = <%- (locals.user) || '' %>
</script>
如果用户未登录,我应该传递 ''、'{}' 还是 'null'? 在客户端,我最有可能使用 angular.fromJson 方法,它的文档很差:https://docs.angularjs.org/api/ng/function/angular.fromJson
但是,我可以将 jQuery.parseJSON 用于非角度模块。 目前我使用空字符串,但我必须每次以角度检查长度,这是 tedius。
【问题讨论】:
标签: jquery json angularjs node.js express