如何写一个axios的拦截器

import axios from "axios";
import { Message } from "element-ui";
import router from "@/router";

axios.interceptors.response.use(success=>{
//成功调用到后端的接口,但是后端告诉你业务逻辑错误
if(success.status && success.status == 200){
if(success.data.code == 500 || success.data.code == 401 || success.data.code == 403){
Message.error({message:success.data.message})
return
}

  if(success.data.message){
    Message.success({message:success.data.message})
  }
}
return success.data

},error => {
//完全的错误,后端的接口都没有调用到
if(error.response.code == 504 || error.response.code==404){
Message.error({message:'服务器被吃了!!!'})
}else if(error.response.code == 403){
Message.error({message:"权限不足,请联系管理员!"})
}else if(error.response.code ==401){
Message.error({message:'尚未登录请登录'})
router.replace('/')
}else{
if(error.response.data.message){
Message.error({message:error.response.data.message})
}else {
Message.error({message:'未知错误!!!!'})
}
}
})

这里还用到了element-ui,所以你要提前安装这个插件。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容