欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Vue怎么封裝axios

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

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

安裝axios

起手安裝axios

npm install axios

request.js

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

import axios from 'axios'

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

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

const service = axios.create({

    baseURL: baseURL, // 請(qǐng)求地址前綴,將自動(dòng)加在 url 前面

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

})

// axios請(qǐng)求攔截器

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

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

        // 請(qǐng)求統(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失效,請(qǐng)重新登錄')

        // 清除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)境/測(cè)試環(huán)境)

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

1

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

headers: {

        get: {

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

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

        },

        post: {

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

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

        }

  },

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

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

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

// 在向服務(wù)器發(fā)送請(qǐng)求前,序列化請(qǐng)求數(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)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:Vue怎么封裝axios
轉(zhuǎn)載來(lái)于:http://www.chinadenli.net/article42/gcshhc.html

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

廣告

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

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