使用axios優雅的發起網絡請求

公司項目使用了vue作為技術棧,便理所應當地使用了官方推薦的axios進行網絡請求,這里記錄下axios的封裝方法,以備以后也能優雅的使用。
ajax.js:

/*引入axios*/
import axios from 'axios'

/*創建axios實例對象*/
const ajax = axios.create({
  baseURL: ajaxUrl,
  timeout: 30000
})

/*請求攔截器(請求之前的操作)*/
ajax.interceptors.request.use(
  config => {
    return config
  },
  /*錯誤操作*/
  err => {
    return Promise.reject(err)
  }
)

/*請求之后的操作*/
ajax.interceptors.response.use(
  config => {
    return config
  },
  err => {
    return Promise.reject(err)
 })

/*導出模塊*/
export default ajax

api.js:

import ajax from '../libs/ajax'

const captcha = () => {
  return ajax.get(`app/captcha`)
}
const login = (params) => {
  return ajax.post(`auth/login`, params)
}

const apiList = {
  captcha,
  login  
}

export default apiList

index.js:
將導出的api請求掛在到vue原型上

import apiList from './api'

const install = function (Vue) {
  if (install.installed) return
  install.installed = true

  /*定義屬性到Vue原型中*/
  Object.defineProperties(Vue.prototype, {
    $api: {
      get () {
        return apiList
      }
    }
  })
}

export default {
  install
}


main.js:

/*引入index.js*/
import api from '.xxx' 

Vue.use(api)

按以上模板進行封裝之后,就可以在需要的地方直接發起api請求了,如下:

this.$api.login(params).then(res => {
  /*請求成功后的操作*/
 }).catch(err => {
  /*請求失敗后的操作*/              
 })
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 夜來輾轉難眠,惘思秋人,心絮莽莽, 無處可寄,深遣此篇。 春來由恨,一點紅杏聞。 燕子繾綣依雨聲,浮起往日舊夢。 ...
    兔子的蹩腳閱讀 320評論 0 0
  • 雖然我們每天都在說話,聽領導說話,跟同事閑聊,和家人溝通,說話交流是我們生活的主要形式,但是這并不表示我們就能完全...
    阿宇向前看閱讀 1,039評論 0 1
  • 在連云港 月薪4000RMB 一年買到東面一套100平房子的首付可能嗎 ??????? 大寶寶最近發現 連云港的房...
    副業小達人閱讀 509評論 0 0
  • 有時候,愛像一株檸檬草,在廣闊的原野上里默默綻放!我愛你,不需要你知道,不需要你回應,我只將這愛悄悄埋藏在心口深處...
    也許還有我閱讀 218評論 0 0