當我嘗試在 express 中進行身份驗證時,會出現以下錯誤。但是如果成功登錄沒有錯誤。
這是我的代碼:
exports.loginUser = async (req, res) => {
try {
const user = await User.findOne({ username: req.body.username });
!user && res.status(400).json("Wrong credentials!");
const validated = await bcrypt.compare(req.body.password,user.password);
!validated && res.status(400).json("Wrong credentials!");
const { password, ...others } = user._doc;
res.status(200).json(others);
} catch (err) {
res.status(500).json(err);
}
};
這是錯誤: 服務器粉碎
uj5u.com熱心網友回復:
在 res.status(400).json() 之后,您應該鍵入 return 以便不會執行其余代碼。
exports.loginUser = async (req, res) => {
try {
const user = await User.findOne({ username: req.body.username });
if (!user) {
res.status(400).json("Wrong credentials!")
return;
}
const validated = await
bcrypt.compare(req.body.password,user.password);
if (!validated) {
res.status(400).json("Wrong credentials!")
return;
}
const { password, ...others } = user._doc;
res.status(200).json(others);
} catch (err) {
res.status(500).json(err);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510361.html
標籤:节点.js表示验证
