我正在尝试为我的Model(用户)添加登录功能。我检查了数据库连接是否正常,因为其他路由都正常。就像我创建用户时一样,它可以成功创建用户。因此,我确定我的数据库或数据库连接没有任何问题。甚至我的代码也能正常工作。
我正在发送带有以下信息的POST请求
{
"email":"sherryijan@gmail.com",
"password":"6421515"
}
app.post("api/users/login", (req, res)=>{
//find email
User.findOne({email: req.body.email}, (err, user) =>{
if(!user) return res.json({
loginSuccess: false,
message: "Auth Failed, email not found"
});
//compare password
user.comparePassword(req.body.password, (err, isMatch) => {
if(!isMatch){
return res.json({loginSuccess:false, message:"wrong password"})
}
})
//generate token
user.generateToken((err, user)=>{
if(err) return res.status(400).send(err);
res.cookie("x_auth", user.token)
.status(200)
.json({
loginSuccess: true
})
})
})
})
显示的错误是
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /api/users/login</pre>
</body>
</html>
我正在使用邮递员。
答案 0 :(得分:0)
您遇到的问题在这里:app.post("api/users/login", (req, res)=>{
。您的路径并非以/
开头,这意味着您的快速应用程序根本不会公开该路径供您的客户(邮递员)使用。
你怎么知道发生了什么事?
响应代码为404
,这意味着该资源不存在。因此,您首先要看的是路径。邮递员中的一位与快递员中的一位不符。