此问题可能是由于请求期望的数据格式与API返回的数据格式不匹配导致的。可以尝试添加响应拦截器进行格式转换,如下所示:
axios.interceptors.response.use(
(response) => {
if (response.status === 200) {
// 尝试解析JSON响应
try {
const data = JSON.parse(response.data);
// 如果解析成功,则修改响应数据
response.data = data;
return response;
} catch (e) {
// 如果解析失败,则说明响应数据已经是需要的格式
return response;
}
} else {
return response;
}
},
(error) => {
return Promise.reject(error);
}
);
如果API返回的数据实际上是一个字符串,而您的代码期望得到一个对象或数组,那么您可以手动将响应数据转换为JSON格式:
axios.get('/api/some-resource')
.then((response) => {
const data = JSON.parse(response.data);
// 在这里使用转换后的数据
})
.catch((error) => {
console.log(error);
});
如果这些方法都无法解决请求返回404的问题,那么您可能需要检查您的API是否有任何其他问题。
下一篇:axios请求返回空数组