使用 console.log(err); 是无法打印出来的。默认只能打印出错误信息
这时候并不能看到服务端返回的错误信息,所以需要修改err为 err.response
axios.interceptors.response.use(res => {
// 对响应数据做些什么
return response
}, err => {
// 对响应错误做些什么
console.log('err', err.response) // 修改后
return Promise.reject(err)
})
就能看到完整的信息,data里就是服务端返回的数据
axios.interceptors.response.use(res => {
// 对响应数据做些什么
return response
}, err => {
// 对响应错误做些什么
console.log('err', err.response) // 修改后
return Promise.resolve(errsresponse) // 可在组件内获取到服务器返回信息
})
扩展:
如果需要通过服务端返回的数据在组件内进行判定,由于拦截器是reject的错误,并不能在组件中读取err信息,可以改reject为 resolve 并且返回err.response