如何解决失败时如何在saga中尝试接收json返回消息?
我有传奇尝试抓住axios请求。但是,catch(err)返回消息就像
Error: Request failed with status code 400
我想显示来自由res.state(400).json(errors)发送的服务器的错误消息。在开发控制台->网络上,我清楚地看到我的JSON文件已返回。
如何在catch(err)块中访问返回的JSON?
解决方法
您可以使用catch
(块或功能-取决于您使用try/catch
还是Promise API)来捕获axios中的错误。您可以使用error.response
访问失败的响应数据。
以下是useEffect
钩子从端点获取数据并处理错误的示例。
useEffect(() => {
axios
.get("https://your-domain/error")
.then((response) => console.log("Response",response.body))
.catch((error) =>
console.log(`HTTP Status Code: ${error.response.status}; data: ${JSON.stringify(error.response.data)}`)
);
},[]);
端点本身是简单的Express端点,定义如下:
app.get("/error",(req,res) => {
console.log("error");
res.status(404).json({ error: "Not found" });
});
它返回带有404状态代码和{error: "Not found"}
正文的响应。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。