axios拦截设置和错误处理方法

  

现在vue的官方包已经不更新vue-resource了,转而推荐axios、下面是项目实战是总结的axios插件设置:

     /* *   * @file Axios的Vue插件(添加全局请求/响应拦截器)   *///https://github.com/mzabriskie/axios   从“axios”进口axios//拦截请求,设置全局请求为ajax请求   axios.interceptors.request.use((配置)=比;{   配置。标题(“X-Requested-With”)=' XMLHttpRequest '   返回配置   })//拦截响应响应,并做一些错误处理   axios.interceptors.response.use((响应)=比;{   常量数据=https://www.yisu.com/zixun/response.data//根据返回的代码值来做不同的处理(和后端约定)   开关(data.code) {   例“0”://举例//经验:修复iPhone 6 +微信点击返回出现页面空白的问题   如果(isIOS ()) {//异步以保证数据已渲染到页面上   setTimeout(()=比;{//通过滚动强制浏览器进行页面重绘   document.body。scrollTop +=1   },0)   }//这一步保证数据返回,如果没有回报则会走接下来的代码,不是未登录就是报的错   返回数据//需要重新登录   例“SHIRO_E5001”://微信生产环境下授权登录   如果(isWeChat (),,IS_PRODUCTION) {   axios.get (apis.common.wechat.authorizeUrl),然后(({结果})=比;{   location.replace (global.decodeURIComponent(结果))   })   其他}{//否则跳转到编辑登录并带上跳转路由   const搜索=encodeSearchParams ({   下一个:location.href,   })   location.replace ('/user/登录# 63;${搜索}')   }//不显示提示消息   data.description="   打破   默认值:   }//若不是正确的返回代码,且已经登录,就抛出错误   const呃=新的错误(data.description)   犯错。data=https://www.yisu.com/zixun/data   犯错。响应=响应   把犯错   },(err)=>{//这里是返回状态码不为200时候的错误处理   如果(err & & err.response) {   开关(err.response.status) {   400年情况:   犯错。消息='请求错误的   打破   401年情况:   犯错。消息='未授权,请登录的   打破   403年情况:   犯错。消息='拒绝访问的   打破   404年情况:   犯错。消息='请求地址出错:$ {err.response.config.url} '   打破   408年情况:   犯错。消息='请求超时的   打破   500年情况:   犯错。消息='服务器内部错误的   打破   501年情况:   犯错。消息='服务未实现的   打破   502年情况:   犯错。消息='网关错误的   打破   503年情况:   犯错。消息='服务不可用的   打破   504年情况:   犯错。消息='网关超时的   打破   505年情况:   犯错。消息=' HTTP版本不受支持”   打破   默认值:   }   }   返回Promise.reject(错)   })   axios。安装=(Vue)=比;{   Vue.prototype。$ axios=axios   }   出口默认axios      

以上这篇axios拦截设置和错误处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

axios拦截设置和错误处理方法