При аутентификации вы должны работать с правильным кодом состояния.Вы можете установить свой код состояния с помощью res.status(200).send('loggedin')
.
Используйте следующие коды состояния:
200 - чтобы подтвердить, что авторизация прошла успешно
400 или 401 - чтобы сказать, что аутентификация не удалась.
Чтобы показать сообщение об ошибке или перенаправить пользователя, проверьте код состояния в вашем запросе ajax и сделайте свое дело.
Редактировать фиксированный фрагмент клиента.
клиент
fetch("http://localhost:3000/reg/getuser",
{
method:"POST",
headers: {
"Content-Type": "application/json"
},
body:JSON.stringify(user)
})
.then(function(response)
{
if (response.status === 200) {
console.log("ok");
console.log(response.json());
window.alert('Login successfull!')
} else {
console.log("damn");
window.alert('Login Failed!')
}
})
.catch(function() {
console.log('error handling');
});
сервер
router.post('/getuser',function(req,res)
{
Customer.find({email:req.body.email})
.then(function(details){
if(details.length<1)
{
res.status(400).send(details)
}
else
{
bcrypt.compare(req.body.password,details[0].password,(err,result)=>{
if(err){
console.log(err)
}
if(result){
return res.status(200).send(details);
// return res.status(200).json(details); Use this line to send a json if result is an object.
}
return res.status(400).send('login failed');
});
}
});
});