Axios 响应拦截器获取服务器返回的错误信息

Axios 响应拦截器是这样写的:

axios.interceptors.response.use(res => {
  // 对响应数据做些什么
  return response
}, err => {
  // 对响应错误做些什么
console.log('err', err)
  return Promise.reject(err)
})

控台打印结果:


这时候并不能看到服务端返回的错误信息,所以需要修改errerr.response

axios.interceptors.response.use(res => {
  // 对响应数据做些什么
  return response
}, err => {
  // 对响应错误做些什么
console.log('err', err.response) // 修改后
  return Promise.reject(err)
})

控台打印结果:


就能看到完整的信息,data里就是服务端返回的数据

  • 扩展:
    如果需要通过服务端返回的数据在组件内进行判定,由于拦截器是reject的错误,并不能在组件中读取err信息,可以改rejectresolve 并且返回err.response
axios.interceptors.response.use(res => {
  // 对响应数据做些什么
  return response
}, err => {
  // 对响应错误做些什么
console.log('err', err.response) // 修改后
  return Promise.resolve(errsresponse) // 可在组件内获取到服务器返回信息
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容