我收到 Uncaught (in promise) 错误:请求失败,状态码为 401
Posted
技术标签:
【中文标题】我收到 Uncaught (in promise) 错误:请求失败,状态码为 401【英文标题】:I am getting Uncaught (in promise) Error: Request failed with status code 401 【发布时间】:2021-03-11 11:55:12 【问题描述】:我得到了
“未捕获(承诺中)错误:请求失败,状态码为 401”
而我的其他 API(如 GET
、PUT
和 POST
和 JWT
工作正常。我想知道我哪里出错了?提前非常感谢,非常感谢任何帮助。再次感谢。
//JWT
function JWTAuthenticatToken(req, res, next)
const token = req.cookies.authcookie
jwt.verify(token, process.env.JWT_TOKEN_SECRET, (err, userData) =>
if (err) return res.sendStatus(401).json( error: "You have to be logged in!" )
req.user = userData
next()
)
//client
const deletePost = async (id) =>
const response = await Axios.delete('http://localhost:5000/api/posts/delpost', postId: id , withCredentials: true )
const deleteData = dbdata.map(item =>
if (item._id == response.data._id)
return response.data
else
return item
)
setDBData(deleteData)
//express
router.delete('/delpost', JWTAuthenticatToken, async (request, response) =>
console.log(request.body)
try
const post = await Post.findOne( _id: request.body.postId ).populate("postedby", "_id")
if (post.postedby._id === request.user.id)
post.remove( _id: request.body.postId )
return response.json( message: "deleted succesfully" )
catch (error)
return response.json( message: error )
)
【问题讨论】:
您应该在 Axios.delete() 调用中将令牌添加到标头中,您的令牌在哪里? function JWTAuthenticatToken(req, res, next) const token = req.cookies.authcookie jwt.verify(token,process.env.JWT_TOKEN_SECRET,(err,userData) => if(err) return res.sendStatus(401).json(error:"你必须登录!") req.user = userData next() ) JWT 令牌适用于 put post 和 get,但不能删除 你能把它添加到你的问题中吗?这是您问题中非常重要的一部分 只需将其添加到您的删除中的 Axios.delete() 标题中 【参考方案1】:最后我发现axios不支持delete。我改为发帖,它奏效了。
【讨论】:
【参考方案2】:删除Router.delete
。然后就可以了。
【讨论】:
以上是关于我收到 Uncaught (in promise) 错误:请求失败,状态码为 401的主要内容,如果未能解决你的问题,请参考以下文章
React Native: Uncaught (in promise) 错误: DeltaPatcher 在初始化时应该收到一个基础 Bundle
出现错误 - Uncaught (in promise) DOMException: play() failed 因为用户没有先与文档交互
React Uncaught (in promise) DOMException: play() 请求被新的加载请求中断
App.jsx:43 Uncaught (in promise) TypeError: this.state.concerts.map is not a function(...)
Uncaught (in promise) TypeError: initialData is null - 我的组件被包装在一个 div 中,但仍然出现错误
net::ERR_EMPTY_RESPONSE && Uncaught (in promise) TypeError: Failed to fetch