<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

        Vue 中 axios 攔截器的封裝

        2019-12-4    seo達(dá)人

        在vue項(xiàng)目中,和后臺(tái)交互獲取數(shù)據(jù)這塊,我們通常使用的是axios庫(kù),它是基于promise的http庫(kù),可運(yùn)行在瀏覽器端和node.js中。他有很多優(yōu)秀的特性,例如攔截請(qǐng)求和響應(yīng)、取消請(qǐng)求、轉(zhuǎn)換json、客戶端防御cSRF等。

        一 . 安裝



        npm install axios;

        1

        二 . 引入

        在項(xiàng)目的src目錄中,新建一個(gè)request文件夾,然后在里面新建一個(gè)http.js和一個(gè)api.js文件。http.js文件用來(lái)封裝我們的axios,api.js用來(lái)統(tǒng)一管理我們的接口。

        三 . 開(kāi)始封裝



        在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';

        // 環(huán)境的切換

        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請(qǐng)求攔截器

        Axios.defaults.withCredentials = true

        vue.prototype.$axios = Axios

        //請(qǐng)求超時(shí)時(shí)間

        // 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("無(wú)校驗(yàn)值");

          }

          return config;

        }, error => {

          Promise.reject(error);

        })

        // respone返回?cái)r截器

        Axios.interceptors.response.use(

          response => {

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

              Notification.error({

                title: '錯(cuò)誤',

                message: response.data.message

              });

            }

            return response.data;

          }, error => {

            // Notification.error({

            //   title: '錯(cuò)誤',

            //   message: '系統(tǒng)異常'

            // });

            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請(qǐng)求

          @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請(qǐng)求
        • @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請(qǐng)求
        • @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)

                })

                



          其他方法用法相同




        日歷

        鏈接

        個(gè)人資料

        存檔

        主站蜘蛛池模板: 人妻日日爽| 98精品全国免费观看视频| 午夜毛片不卡免费观看视频| jlzz大jlzz大全免费| 无码午夜福利片| 国产亚洲av手机在线观看 | 无码Gv永久免费网站| 美女爽到高潮嗷嗷嗷叫免费网站 | 粉嫩国产一区二区三区在线| 香蕉影院在线观看| 亚洲不卡av一区二区| 中文字幕乱码亚洲无线三区| 色色97| 久久久久久久人妻无码中文字幕| 国产日韩欧美| 国产日韩欧美| 国产精品蜜臀av在线一区| 99re在线视频| 综合图区亚洲欧美另类专区| AV色色色| 悠悠色成人综合在线观看| 粉嫩AV一区二区凹凸精品| 麻豆国产传媒精品视频| 婷婷国产亚洲性色av网站| 午夜久久av| 色无码日韩无码精品| 欧美日本高清一本二本三本| 亚洲国产另类久久久精品黑人| 最新偷拍一区二区三区| 99re久久资源最新地址| 亚洲国产成人AV人片久久网站| 亚洲色成人网站www永久| 日本道不卡一二三区视频| 高清无码爆乳潮喷在线观看| 亚洲av日韩av综合aⅴxxx| 免费三级网| 丁香五月亚洲综合在线国内自拍| 久艹在线| 中文字幕一区av97| 亚洲综合一二| 日本熟妇乱一区二区三区|