【发布时间】:2021-12-16 23:44:24
【问题描述】:
我有以下代码 sn-p 向我的后端发出 api 请求以取回 json 中的用户对象,如果用户未通过身份验证,则返回状态代码 401,以及它应该收到一条消息的状态代码.
<script>
axios
.get("http://localhost:5000/get-authenticated-user")
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
console.log(error);
});
</script>
我的 API 路由如下所示:
router.get("/get-authenticated-user", (req, res) => {
if (req.user) {
res.json({ user: req.user });
}
res.status(401).json({ err: "Not authenticated" });
});
但是,当用户未通过身份验证时,它只会返回以下错误消息(在 catch 块中),而不是从我的 API 提供的“未通过身份验证”消息。
Error: Request failed with status code 401
at e.exports (createError.js:16)
at e.exports (settle.js:17)
at XMLHttpRequest.E (xhr.js:66)
身份验证正常工作,只是用户未通过身份验证时错误消息未正确显示。我已经为此苦苦挣扎了一段时间,有人有想法吗?
【问题讨论】: