当前位置: 代码迷 >> 综合 >> vue axios response 失败拦截
  详细解决方案

vue axios response 失败拦截

热度:10   发布时间:2024-02-05 23:17:00.0

最开始认为失败没走拦截  成功走了

instance.interceptors.response.use(response => {// dataAxios 是 axios 返回数据中的 dataconst dataAxios = response;// 这个状态码是和后端约定的const CODE = dataAxios.data.code;// 根据 code 进行判断if (CODE === undefined) {// 如果没有 code 代表这不是项目后端开发的接口return dataAxios;} else {// 有 code 代表这是一个后端接口 可以进行进一步的判断switch (CODE) {case 0:case 200:case 500:// [ 示例 ] code === 0 代表没有错误return dataAxios;case 1001:Router.push("/login");break;case 403:Router.push("/login");break;case 401:Router.push("/login");break;default:return dataAxios;}}
} );

 

 

最后发现问题

instance.interceptors.response.use(response => {// dataAxios 是 axios 返回数据中的 dataconst dataAxios = response;// 这个状态码是和后端约定的const CODE = dataAxios.data.code;// 根据 code 进行判断if (CODE === undefined) {// 如果没有 code 代表这不是项目后端开发的接口return dataAxios;} else {// 有 code 代表这是一个后端接口 可以进行进一步的判断switch (CODE) {case 0:case 200:case 500:// [ 示例 ] code === 0 代表没有错误return dataAxios;case 1001:Router.push("/login");break;case 403:Router.push("/login");break;case 401:Router.push("/login");break;default:return dataAxios;}}
},error => {if(error.response.status==401){Router.push("/login");} });
  相关解决方案