97国产精品视频人人做人人爱,3344在线观看无码,成年人国产视频,欧美日一级片,在线看AV天堂,高清无码一本到东京热,欧美一级黄片一区2区,免费又爽又刺激高潮网址

Vue 中 axios 攔截器的封裝

2019-12-4    seo達人

在vue項目中,和后臺交互獲取數據這塊,我們通常使用的是axios庫,它是基于promise的http庫,可運行在瀏覽器端和node.js中。他有很多優秀的特性,例如攔截請求和響應、取消請求、轉換json、客戶端防御cSRF等。

一 . 安裝



npm install axios;

1

二 . 引入

在項目的src目錄中,新建一個request文件夾,然后在里面新建一個http.js和一個api.js文件。http.js文件用來封裝我們的axios,api.js用來統一管理我們的接口。

三 . 開始封裝



在http.js中引入axios . vue及其他

import Axios from 'axios'; // 引入axios

import { Message, Loading, Notification } from 'element-ui'

import vue from 'vue';

1

2

3

http.js文件全部代碼如下:



import Axios from 'axios';

import store from '../store';

import { Message, Loading, Notification } from 'element-ui'

import vue from 'vue';

// 環境的切換

if (process.env.NODE_ENV == 'development') {

  Axios.defaults.baseURL = "http://10.230.39.58:33390/devops";

}

else if (process.env.NODE_ENV == 'production') {

  Axios.defaults.baseURL = "http://10.230.39.58:33390/devops";

}

// request請求攔截器

Axios.defaults.withCredentials = true

vue.prototype.$axios = Axios

//請求超時時間

// Axios.defaults.timeout = 100000;

Axios.defaults.headers.get['Content-Type'] = "application/json"

Axios.interceptors.request.use(config => {

  const Basic = sessionStorage.getItem("basicParam")

  if (Basic) {

    config.headers.Authorization = Basic ${Basic};

  } else {

    console.log("無校驗值");

  }

  return config;

}, error => {

  Promise.reject(error);

})

// respone返回攔截器

Axios.interceptors.response.use(

  response => {

    if (response.data.code !== 200) {

      Notification.error({

        title: '錯誤',

        message: response.data.message

      });

    }

    return response.data;

  }, error => {

    // Notification.error({

    //   title: '錯誤',

    //   message: '系統異常'

    // });

    console.log('err' + error);// for debug

    return Promise.reject(error);

  }

)



export default Axios;



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

api.js文件全部代碼如下:



import axios from 'axios';

/

  封裝get方法

 
@param url

  @param data

 
@returns {Promise}

 */



export function fetch(url, params = {}) {

  return new Promise((resolve, reject) => {

    axios.get(url, {

      params: params

    })

      .then(response => {

        resolve(response.data);

      })

      .catch(err => {

        reject(err)

      })

  })

}





/*

 
封裝post請求

  @param url

 
@param data

  @returns {Promise}

 
/



export function _post(url, data = {}) {

  return new Promise((resolve, reject) => {

    axios.post(url, data)

      .then(response => {

        console.log(response,

          "response");



        resolve(response);

      }, err => {

        reject(err)

      })

  })

}



/

  • 封裝patch請求
  • @param url
  • @param data
  • @returns {Promise}

    */



    export function patch(url, data = {}) {

      return new Promise((resolve, reject) => {

        axios.patch(url, data)

          .then(response => {

            resolve(response.data);

          }, err => {

            reject(err)

          })

      })

    }



    /**
  • 封裝put請求
  • @param url
  • @param data
  • @returns {Promise}

    */



    export function put(url, data = {}) {

      return new Promise((resolve, reject) => {

        axios.put(url, data)

          .then(response => {

            resolve(response.data);

          }, err => {

            reject(err)

          })

      })

    }



    在main.js中引入api.js



    import { _post, fetch, patch, put } from './utils/api'

    //定義全局變量

    Vue.prototype.$post = post;

    Vue.prototype.$fetch = fetch;

    Vue.prototype.$patch = patch;

    Vue.prototype.$put = put;

    1

    2

    3

    4

    5

    6

    最后在組件里直接使用



     this.$post('/api/v2/movie/top250')

          .then((response) => {

            console.log(response)

          })

          



    其他方法用法相同




日歷

鏈接

個人資料

藍藍設計的小編 http://www.0391cbd.com

存檔

主站蜘蛛池模板: 色偷偷一区| 久久人与动人物A级毛片| 国产亚卅精品无码| 久久一本精品久久久ー99| 免费a级毛片18以上观看精品| 暴力调教一区二区三区| 亚洲经典在线中文字幕 | 成人综合在线观看| 91麻豆精品国产91久久久久| 欧美自慰一级看片免费| 国产精品13页| 视频在线观看一区二区| 国产成人精品视频一区视频二区| 国产精品lululu在线观看| 亚洲Av综合日韩精品久久久| 亚洲欧美日韩成人高清在线一区| 2021国产v亚洲v天堂无码| 婷婷综合在线观看丁香| 综合人妻久久一区二区精品 | 第一区免费在线观看| 国产一区二区三区免费观看 | 国产真实二区一区在线亚洲 | 香蕉国产精品视频| 亚洲精品大秀视频| 91蜜芽尤物福利在线观看| 日本一区中文字幕最新在线| 四虎永久免费地址| 欧美劲爆第一页| 国产毛片不卡| 人妻无码中文字幕第一区| 伊人久久大香线蕉aⅴ色| 热这里只有精品国产热门精品| 日本高清视频在线www色| 亚洲色中色| 亚洲视频免费在线看| 一级毛片a女人刺激视频免费| 亚洲成人免费在线| 欧美日韩第三页| 97精品久久久大香线焦| 免费无码网站| 欧美日韩国产在线播放| 99热精品久久| 手机在线免费不卡一区二| 国产人成乱码视频免费观看| 国产SUV精品一区二区6| 国产嫩草在线观看| 伊人中文网| 亚洲综合精品第一页| 精品精品国产高清A毛片| 国产精品亚洲αv天堂无码| 亚洲最大看欧美片网站地址| 亚洲欧美人成人让影院| 中文字幕免费视频| 在线视频一区二区三区不卡| 青草视频久久| 六月婷婷综合| 波多野结衣一区二区三区AV| 99视频在线看| 亚洲日本韩在线观看| 欧美一区福利| 国产人成在线视频| 狠狠做深爱婷婷综合一区| 亚洲精品无码在线播放网站| 国产在线视频欧美亚综合| 91久久精品国产| 亚洲第一视频免费在线| 国产簧片免费在线播放| 免费 国产 无码久久久| 午夜福利无码一区二区| 国产精品亚欧美一区二区三区| 亚洲无限乱码一二三四区| 亚洲愉拍一区二区精品| 亚洲另类国产欧美一区二区| 亚洲制服丝袜第一页| 欧美国产日韩一区二区三区精品影视| 色欲色欲久久综合网| 国产欧美中文字幕| 欧美一区精品| 视频二区欧美| 国产精品亚洲天堂| 在线观看国产一区二区三区99| 九九免费观看全部免费视频|