1

私のアプリケーションでは、ユーザーにユーザー名とパスワードを入力してもらい、次にユーザー名が最初に検索クエリを使用してデータベースにチェックインされ、ユーザー名が見つかった場合、新しいページがユーザーに表示されます。問題は、間違ったユーザー名とパスワードを入力すると、新しいページもレンダリングされ、ページも完全に読み込まれないことです。何が間違っているのか教えてください。

app.js に次のように記述しました。

app.post('/profile',users.login);

users.js で私は書いた:

exports.login=function(req,res){
   console.log("login called");
   PersonalInfo.findOne({ name:req.params.userName}, function(err,data){
      if(err)
      {
          console.log("find is not done");
          console.log(data);
      }
      else{
          res.render("/profilearea.ejs");
      }
        })

}

4

1 に答える 1

1

findOneクエリが一致するドキュメントを見つけられなかった場合、エラーとは見なされません。代わりに、「見つからない」場合は、コールバックdataへのパラメーターがで示されます。findOnenull

代わりfindOneに、コールバック関数のコードは次のようになります。

  if(err || !data)
  {
      console.log("find is not done");
  }
  else{
      res.render("/profilearea.ejs");
  }
于 2012-10-10T21:07:14.940 に答える