调用res.status()时,需要结束函数的执行。json(),否则它将继续,您将再次设置res.status()。json()。这是导致错误的原因。
修改为:
const router = require('express').Router();
const User = require("../models/User");
const CrytoJS = require("crypto-js");
router.post('/login', async (req, res) => {
try{
const user = await User.findOne(
{
username: req.body.user_name
}
);
if(!user) return res.status(401).json("Wrong User Name");
const hashedPassword = CryptoJS.AES.decrypt(
user.password,
process.env.PASS_SEC
);
const originalPassword = hashedPassword.toString(CryptoJS.enc.Utf8);
const inputPassword = req.body.password;
if(originalPassword != inputPassword) return res.status(401).json("Wrong Password");
return res.status(200).json(user);
}catch(err){
return res.status(500).json(err);
}
});
module.exports = router