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 回答