我有 express 服务器。当我发送获取请求时,我使用中间件功能授权来检查数据库中该用户的 token 。但是,我有一个问题:当我尝试发送响应错误时,我的响应向我发送了一个空对象,但 console.log 显示了错误!我究竟做错了什么???这是我的代码:
const auth = async(req,res,next)=>{
try {
const token = req.header('Authorization').replace('Bearer ','')
const decode_token = jswt.verify(token,'mytoken')
const user =await User.findOne({"_id": decode_token._id, "tokens.token":token})
if (!user){
throw new Error('Please autorizate')
}
req.token = token
req.user = user
next()
} catch (error) {
console.log(error)
res.status(401).send({"err":error})
}
}
最佳答案
在接收错误时发送消息时出现问题。
如果要发送短信,请将字符串传递给 send
函数,或使用 json
函数发送 JSON 对象。
示例:
{
console.log(error)
res.status(401).send("Bad login")
}
{
console.log(error)
res.status(401).json({error: "Bad login"})
}
关于node.js - 如何在 Express/node js 中发送错误响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59194515/