国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

axios攔截設置和錯誤處理方法

2019-11-19 14:14:15
字體:
來源:轉載
供稿:網友

現在vue的官方包已經不更新vue-resource了,轉而推薦axios,下面是項目實戰是總結的axios插件設置:

/** * @file Axios的Vue插件(添加全局請求/響應攔截器) */// https://github.com/mzabriskie/axiosimport axios from 'axios'// 攔截request,設置全局請求為ajax請求axios.interceptors.request.use((config) => { config.headers['X-Requested-With'] = 'XMLHttpRequest' return config})// 攔截響應response,并做一些錯誤處理axios.interceptors.response.use((response) => { const data = response.data// 根據返回的code值來做不同的處理(和后端約定) switch (data.code) { case '0':  // 舉例  // exp: 修復iPhone 6+ 微信點擊返回出現頁面空白的問題  if (isIOS()) {  // 異步以保證數據已渲染到頁面上  setTimeout(() => {   // 通過滾動強制瀏覽器進行頁面重繪   document.body.scrollTop += 1  }, 0)  }  // 這一步保證數據返回,如果沒有return則會走接下來的代碼,不是未登錄就是報錯  return data // 需要重新登錄 case 'SHIRO_E5001':  // 微信生產環境下授權登錄  if (isWeChat() && IS_PRODUCTION) {  axios.get(apis.common.wechat.authorizeUrl).then(({ result }) => {   location.replace(global.decodeURIComponent(result))  })  } else {  // 否則跳轉到h5登錄并帶上跳轉路由  const search = encodeSearchParams({   next: location.href,  })  location.replace(`/user/login?${search}`)  }  // 不顯示提示消息  data.description = ''  break default: } // 若不是正確的返回code,且已經登錄,就拋出錯誤 const err = new Error(data.description) err.data = data err.response = response throw err}, (err) => { // 這里是返回狀態碼不為200時候的錯誤處理 if (err && err.response) { switch (err.response.status) {  case 400:  err.message = '請求錯誤'  break  case 401:  err.message = '未授權,請登錄'  break  case 403:  err.message = '拒絕訪問'  break  case 404:  err.message = `請求地址出錯: ${err.response.config.url}`  break  case 408:  err.message = '請求超時'  break  case 500:  err.message = '服務器內部錯誤'  break  case 501:  err.message = '服務未實現'  break  case 502:  err.message = '網關錯誤'  break  case 503:  err.message = '服務不可用'  break  case 504:  err.message = '網關超時'  break  case 505:  err.message = 'HTTP版本不受支持'  break  default: } } return Promise.reject(err)})axios.install = (Vue) => { Vue.prototype.$axios = axios}export default axios

以上這篇axios攔截設置和錯誤處理方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨脱县| 浦东新区| 富裕县| 扎囊县| 娄烦县| 高唐县| 永兴县| 汨罗市| 巩义市| 大关县| 庄浪县| 内黄县| 沙湾县| 湖口县| 彝良县| 吉木萨尔县| 宽城| 丹江口市| 湘西| 工布江达县| 同江市| 张家港市| 甘洛县| 湟源县| 泸定县| 海宁市| 临夏市| 白朗县| 兴安县| 绍兴县| 电白县| 金秀| 即墨市| 武清区| 乐昌市| 五寨县| 寻乌县| 册亨县| 乐山市| 荔波县| 临泉县|