免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Vue怎么封裝axios

今天小編給大家分享一下Vue怎么封裝axios的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

中牟網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

安裝axios

起手安裝axios

npm install axios

request.js

該文件中對axios進(jìn)行封裝

import axios from 'axios'

const baseURL = 'http://localhost:4000/api'

// 創(chuàng)建 axios 實例

const service = axios.create({

    baseURL: baseURL, // 請求地址前綴,將自動加在 url 前面

    timeout: 6000 // 請求超時時間

})

// axios請求攔截器

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

    if (localStorage.getItem('loginToken')) {

        // 請求統(tǒng)一設(shè)置header

        config.headers.Authorization = localStorage.getItem('loginToken')

    }

    return config

}, error => {

    return Promise.reject(error)

})

// axios響應(yīng)攔截器

service.interceptors.response.use(response => {

    return response.data

}, error => {

    // console.log('看一看', error.response)

    const { status } = error.response

    if (status === 401) { // token失效

        Message.error('token失效,請重新登錄')

        // 清除token

        localStorage.removeItem('loginToken')

        router.push('/')

    }

    return Promise.reject(error)

})

export { service as axios }

在axios.create操作中還可以進(jìn)行其他的一些操作,諸如:

根據(jù)當(dāng)前環(huán)境切換不同的url(生產(chǎn)環(huán)境/開發(fā)環(huán)境/測試環(huán)境)

baseURL: process.env.NODE_ENV === 'production' ? 'productApi': 'developApi'

1

統(tǒng)一請求頭配置

headers: {

        get: {

          'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'

          // 在開發(fā)中,一般還需要單點登錄或者其他功能的通用請求頭,可以一并配置進(jìn)來

        },

        post: {

          'Content-Type': 'application/json;charset=utf-8'

          // 在開發(fā)中,一般還需要單點登錄或者其他功能的通用請求頭,可以一并配置進(jìn)來

        }

  },

跨域、響應(yīng)碼處理

提供是否允許跨域的屬性——withCredentials: true/false

請求響應(yīng)序列化

// 在向服務(wù)器發(fā)送請求前,序列化請求數(shù)據(jù)

    transformRequest: [function (data) {

        data = JSON.stringify(data)

        return data

    }],

    // 在傳遞給 then/catch 前,修改響應(yīng)數(shù)據(jù)

    transformResponse: [function (data) {

        if (typeof data === 'string' && data.startsWith('{')) {

            data = JSON.parse(data)

        }

        return data

    }]

同樣,攔截器中也可以自定義更多的內(nèi)容

api.js

import { axios } from './request'

const api = {

    user: '/user/getUsers'

}

export default api

export function getUsersApi(param) {

    return axios({

        url: api.user,

        method: 'post',

        data: param

    })

}

以上就是“Vue怎么封裝axios”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:Vue怎么封裝axios
轉(zhuǎn)載來于:http://m.newbst.com/article42/gcshhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、虛擬主機(jī)網(wǎng)站制作域名注冊手機(jī)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)