我在我的Mac上运行了 Node.JS 服务器,并且,我从其他计算机访问它,服务器没有崩溃,但是,我不知道为什么,应用程序从我的iPad访问时崩溃。如果我从Safari访问,服务器可以正常工作,但是,使用Chrome for iPad,应用程序崩溃了!
这是错误:TypeError: Cannot read property 'following' of null
。为什么会这样?
编辑:
app.get('/home', middleware.yeses, function (req, res){
console.log(req.session.user + "\n\n");
UserModel.find({ user: req.session.user }, function (err, user){
console.log(user);
res.render('home.ejs', {
username: req.session.user,
avatar: user[0].avatar,
following: user[0].following.length,
followers: user[0].followers.length
});
});
});
编辑:
我将console.log(user);
更改为此console.log(user[0].following)
。而且没有问题。我不知道为什么,当地人有这个问题。
答案 0 :(得分:0)
这是因为JavaScript抛出异常。在代码中的某处,有一个分配给null
的变量,并且正在该变量上访问属性following
。此操作引发了异常。
var obj = null;
obj.following; // exception thrown!
无法帮助你。使用您提供的信息和代码(非常少)。但是请查看您从哪里访问following
属性并从那里进行调试。
<强>更新强>
user[0]
似乎是null
。为什么?不知道。这取决于您尚未发布的其他代码。声明和填充的是user
?它是一个阵列吗?因为对于名为user
的变量而言,这会很奇怪。