Axios 统一封装 异常处理
1 var instance = axios.create({ 2 withCredentials: true, 3 headers: { 4 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 5 'userid': userId, 6 'corpid': corpId, 7 }, 8 }); 9 instance.interceptors.request.use(function (config) { 10 console.log('请求前显示loading'); 11 common.Loading(); 12 return config; 13 }); 14 instance.interceptors.response.use(function (data) { 15 console.log('请求后隐藏loading'); 16 common.HideLoading(); 17 return data; 18 }, function (err) { 19 20 common.HideLoading(); 21 if (err.response.headers.errcode) { 22 if (err.response.headers.errcode > 1000) { 23 var msg = decodeURIComponent(err.response.headers.errmsg); 24 common.Toast(msg); 25 } else { 26 //console.log('内部服务器错误') 27 common.Toast('系统繁忙请稍候再试!'); 28 console.log(err); 29 } 30 31 } else { 32 //console.log('内部服务器错误') 33 common.Toast('系统繁忙请稍候再试!'); 34 console.log(err); 35 } 36 return Promise.resolve(err); 37 }); 38 39 var http = { 40 //Get请求 41 Get: function (url, data, showloading = true) { 42 return instance.get(url, { params: data }); 43 }, 44 //Post请求 45 Post: function (url, data, showloading = true) { 46 return instance.post(url, Qs.stringify(data)); 47 48 }, 49 //上传文件 50 PostFile: function (url, formData) { 51 var instance = axios.create({ 52 timeout: '10000', 53 headers: { 'userid': userId, "corpid": corpId, 'Content-Type': 'multipart/form-data' } 54 }); 55 return instance.post(url, formData); 56 }, 57 //页面跳转自动添加参数 58 Go: function (url, data) { 59 var params = Qs.stringify({ applyid: applyId, userid: userId, corpid: corpId }) + '&' + Qs.stringify(data); 60 console.log(params); 61 window.location.href = url + '?' + params; 62 } 63 }
如何使用代码:
1 function getApplyInfo() { 2 console.log('获取申请信息'); 3 4 var that = this; 5 6 that.http.Get(apiUrl, { name:value}).then(function (res) { 7 8 //您的业务代码 9 10 }); 11 12 },

浙公网安备 33010602011771号