我有快递服务器。当我发送获取请求时,我使用中间件功能授权来检查数据库中该用户的令牌。但是,我有一个问题:当我尝试发送响应错误时,我的响应向我发送了一个空对象,但是 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})
}
Run Code Online (Sandbox Code Playgroud)
}
小智 6
在接收错误时发送消息时会出现此问题。
如果要发送文本消息,请将字符串传递给send函数,或使用json函数发送 JSON 对象。
参考:官方快递网站。
例子:
{
console.log(error)
res.status(401).send("Bad login")
}
{
console.log(error)
res.status(401).json({error: "Bad login"})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3736 次 |
| 最近记录: |