如何在Axios中获取404响应的响应体内容?
如何在Axios中获取404响应的提示信息
首先明确:Axios捕获到4xx/5xx这类HTTP错误时,响应内容会存放在
error.response对象里,正确的取值路径是error.response.data,你尝试的error.response.response本身就是不存在的属性,所以会返回undefined。实际代码示例:
try { const response = await axios.get('/你的API接口地址'); // 处理成功响应逻辑 } catch (error) { // 先判断是否存在响应对象(排除网络错误等无响应的场景) if (error.response) { // 404响应体的提示信息就在这里 console.log('404提示内容:', error.response.data); // 也可按需获取状态码、响应头 console.log('状态码:', error.response.status); console.log('响应头:', error.response.headers); } else { // 处理无响应的错误(比如网络断开、请求超时) console.log('请求失败原因:', error.message); } }
- 如果仍无法获取,检查Axios的
validateStatus配置:
默认情况下Axios会把状态码不在200-299区间的请求判定为错误并进入catch块。若你自定义过validateStatus,可能导致404未被正确捕获。可以显式配置确保404进入错误处理:
axios.get('/你的API接口地址', { validateStatus: function (status) { // 仅将200-299视为成功响应,其他状态码均触发catch return status >= 200 && status < 300; } });
- 最后确认后端返回格式:如果后端返回纯文本,
error.response.data就是字符串;如果是JSON格式,则是解析后的对象,按需处理即可。
内容的提问来源于stack exchange,提问作者Atefeh Jahanshahi
相关产品推荐
相关产品推荐

