axios catch捕获了本应该在then里面的数据
用axios发起请求,服务端返回了正确的数据,但是数据却被catch捕获了,抛出的error就是本应该在response里的数据,而且用error.data赋值居然成功了。新手一个,尝试了用别人封装好的也是一样的结果,请教下各位大佬是什么原因导致的。
补充一下header截图:
axios请求代码:
methods: {
getData(){
let url = 'api/public/zjinfo';
axios.get(url).then((response)=> {
this.zjkdata = response.data;
console.log(response);
}).catch((error)=> {
this.zjkdata = error.data;
console.log(error);
});
}
}
别人封装的axios:
// axios 配置
axios.defaults.timeout = 5000;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
axios.defaults.baseURL = 'http://localhost';
//POST传参序列化
axios.interceptors.request.use((config) => {
if(config.method === 'post'){
config.data = qs.stringify(config.data);
}
return config;
},(error) =>{
//_.toast("错误的传参", 'fail');
return Promise.reject(error);
});
//返回状态判断
axios.interceptors.response.use((res) =>{
if(!res.data.success){
// _.toast(res.data.msg);
return Promise.reject(res);
}
return res;
}, (error) => {
//_.toast("网络异常", 'fail');
return Promise.reject(error);
});
export function fetch(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, params)
.then(response => {
resolve(response.data);
}, err => {
reject(err);
})
.catch((error) => {
reject(error)
})
})
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
axios全局设置问题,已解决。