3

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)。そして、問題はありません。理由はわかりませんが、地元では問題があります。

4

1 に答える 1

0

これは、JavaScript が例外をスローしているために発生します。コードのどこかに、割り当てられている変数があり、その変数でnullプロパティfollowingにアクセスしています。この操作では例外が発生します。

var obj = null;
obj.following; // exception thrown!

これ以上あなたを助けることは不可能です。あなたが提供した情報とコードを使用してください(どちらもほとんどありません)。followingただし、プロパティにアクセスしている場所を探して、そこからデバッグしてください。


アップデート:

のようuser[0]ですnull。なんで?わかりません。それは、投稿していない他のコードに依存します。どこでuser宣言され、入力されますか? 配列ですか?という名前の変数にとっては奇妙だからですuser

于 2013-01-02T19:09:11.797 に答える