国产探花免费观看_亚洲丰满少妇自慰呻吟_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攔截設置和錯誤處理方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛沁县| 察雅县| 阿鲁科尔沁旗| 古浪县| 保德县| 班玛县| 泰安市| 东阳市| 上犹县| 密山市| 黑河市| 马尔康县| 武威市| 浦县| 唐河县| 秀山| 嘉祥县| 利辛县| 台湾省| 锦州市| 武冈市| 海晏县| 卢龙县| 昌图县| 大连市| 金华市| 扎赉特旗| 泰宁县| 巴林右旗| 望奎县| 连山| 剑川县| 化州市| 临漳县| 三江| 石林| 凉山| 清原| 高雄县| 广南县| 方城县|