最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中如何簡(jiǎn)單封裝axios淺析

 更新時(shí)間:2021年06月11日 14:24:46   作者:再敲一行就睡覺(jué)  
Axios 毋庸多說(shuō)大家在前端開(kāi)發(fā)中常用的一個(gè)發(fā)送 HTTP 請(qǐng)求的庫(kù),用過(guò)的都知道,篇文章主要給大家介紹了關(guān)于vue中如何簡(jiǎn)單封裝axios的相關(guān)資料,需要的朋友可以參考下

把a(bǔ)xios注入到Vue中

import axios from 'axios';
Vue.prototype.$axios = axios;
import axios from 'axios'

axios.defaults.timeout = 5000;                        //響應(yīng)時(shí)間
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; //配置請(qǐng)求頭
axios.defaults.withCredentials= true; //帶cookie
axios.defaults.baseURL = 'http://localhost:8080/';   //配置接口地址

//POST傳參序列化(添加請(qǐng)求攔截器)
axios.interceptors.request.use((config) => {
	//在這里可以添加序列化代碼,根據(jù)后端而定,我用的SSM后端接受Json對(duì)象,假如需要序列化可以用qs組件
    return config;
},(error) =>{
    console.log('錯(cuò)誤的傳參')
    return Promise.reject(error);
});

//返回狀態(tài)判斷(添加響應(yīng)攔截器)
axios.interceptors.response.use((res) =>{
    //對(duì)響應(yīng)數(shù)據(jù)做些事
    if(!res.data.success){
        return Promise.resolve(res);
    }
    return res;
}, (error) => {
    console.log('網(wǎng)絡(luò)異常')
    return Promise.reject(error);
});

//返回一個(gè)Promise(發(fā)送post請(qǐng)求)
export function fetchPost(url, params) {
    return new Promise((resolve, reject) => {
        axios.post(url, params)
            .then(response => {
                resolve(response);
            }, err => {
                reject(err);
            })
            .catch((error) => {
                reject(error)
            })
    })
}
返回一個(gè)Promise(發(fā)送get請(qǐng)求)
export function fetchGet(url, param) {
    return new Promise((resolve, reject) => {
        axios.get(url, {params: param})
            .then(response => {
                resolve(response)
            }, err => {
                reject(err)
            })
            .catch((error) => {
                reject(error)
            })
    })
}
export default {
    fetchPost,
    fetchGet,
}

簡(jiǎn)單測(cè)試:

loginPost: function() {
		let params = {
			'password': '123',
			'username': 'admin'
		}
		http.fetchPost('/login', params).then((data) => {
			console.log(data)
		}).catch(err => {
			console.log(err)
		})
	},
hello: function() {
		http.fetchGet('/hello', "").then((data) => {
			console.log(data)
		}).catch(err => {
			console.log(err)
		})
	},

post請(qǐng)求:

get請(qǐng)求:

跨域問(wèn)題,這里是在后端配置的:

在SpringMVC.xml中配置跨域:

<!-- 接口跨域配置 -->
    <mvc:cors>
        <!-- allowed-methods="*" --> <!-- 表示所有請(qǐng)求都有效 -->
        <mvc:mapping path="/**" allowed-origins="*"
                     allowed-methods="POST, GET, OPTIONS, DELETE, PUT"
                     allowed-headers="Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
                     allow-credentials="true"/>
    </mvc:cors><!-- 接口跨域配置 -->

接口配置:

在Vue中配置 創(chuàng)建一個(gè)vue.config.js:

module.exports = {
  devServer: {
    proxy: {
        '/api': {
            target: 'http://127.0.0.1:8080',
            // 在本地會(huì)創(chuàng)建一個(gè)虛擬服務(wù)端,然后發(fā)送請(qǐng)求的數(shù)據(jù),并同時(shí)接收請(qǐng)求的數(shù)據(jù),這樣服務(wù)端和服務(wù)端進(jìn)行數(shù)據(jù)的交互就不會(huì)有跨域問(wèn)題
            changeOrigin: true, 
            ws: true,
            pathRewrite: {
                '^/api': '' 
                // 替換target中的請(qǐng)求地址,也就是說(shuō)以后你在請(qǐng)求http://api.jisuapi.com/XXXXX這個(gè)地址的時(shí)候直接寫(xiě)成/api即可
            }
        }
    }
  }
}

后端也能正常獲取cookie。

當(dāng)然要注意下面這個(gè)配置,這個(gè)是帶cookie的原因

axios.defaults.withCredentials= true;

總結(jié)

到此這篇關(guān)于vue中如何簡(jiǎn)單封裝axios的文章就介紹到這了,更多相關(guān)vue封裝axios內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue CLI項(xiàng)目 axios模塊前后端交互的使用(類(lèi)似ajax提交)

    Vue CLI項(xiàng)目 axios模塊前后端交互的使用(類(lèi)似ajax提交)

    這篇文章主要介紹了Vue-CLI項(xiàng)目-axios模塊前后端交互的使用詳解(類(lèi)似ajax提交),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Vue 3 的<Teleport>功能與用法詳解

    Vue 3 的<Teleport>功能與用法詳解

    <Teleport> 是 Vue 3 的一個(gè)內(nèi)置組件,允許將組件的內(nèi)容渲染到 DOM 中的任意位置,而不改變其邏輯結(jié)構(gòu),這篇文章主要介紹了Vue 3 的<Teleport>功能與用法詳解,需要的朋友可以參考下
    2025-04-04
  • Vue3中的defineExpose函數(shù)用法深入解析

    Vue3中的defineExpose函數(shù)用法深入解析

    這篇文章主要介紹了Vue3中的defineExpose函數(shù)用法的相關(guān)資料,defineExpose是Vue3中用于在模式下暴露組件內(nèi)部屬性和方法的輔助函數(shù),它允許父組件通過(guò)ref訪問(wèn)子組件的暴露內(nèi)容,提高組件間的交互能力并保持封裝性,需要的朋友可以參考下
    2025-01-01
  • 用Axios Element實(shí)現(xiàn)全局的請(qǐng)求loading的方法

    用Axios Element實(shí)現(xiàn)全局的請(qǐng)求loading的方法

    本篇文章主要介紹了用Axios Element實(shí)現(xiàn)全局的請(qǐng)求loading的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 詳解Vue結(jié)合后臺(tái)的列表增刪改案例

    詳解Vue結(jié)合后臺(tái)的列表增刪改案例

    這篇文章主要介紹了詳解Vue結(jié)合后臺(tái)的增刪改案例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • vue與electron實(shí)現(xiàn)進(jìn)程間的通信詳情

    vue與electron實(shí)現(xiàn)進(jìn)程間的通信詳情

    這篇文章主要介紹了vue與electron實(shí)現(xiàn)進(jìn)程間的通信詳情,本文主要介紹electron渲染進(jìn)程和主進(jìn)程間的通信,以及在渲染進(jìn)程和主進(jìn)程中常用的配置項(xiàng),需要的朋友可以參考一下
    2022-09-09
  • vscode中vue代碼提示與補(bǔ)全沒(méi)反應(yīng)解決(vetur問(wèn)題)

    vscode中vue代碼提示與補(bǔ)全沒(méi)反應(yīng)解決(vetur問(wèn)題)

    這篇文章主要給大家介紹了關(guān)于vscode中vue代碼提示與補(bǔ)全沒(méi)反應(yīng)解決(vetur問(wèn)題)的相關(guān)資料,文中通過(guò)圖文將解決的方法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • vue 3.x 中mixin封裝公用方法應(yīng)用方式

    vue 3.x 中mixin封裝公用方法應(yīng)用方式

    這篇文章主要介紹了vue 3.x 中mixin封裝公用方法應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法

    Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法

    我們經(jīng)常需要接入統(tǒng)計(jì)服務(wù)以方便運(yùn)營(yíng),這篇文章主要介紹了Vue自定義指令上報(bào)Google Analytics事件統(tǒng)計(jì)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • vue事件監(jiān)聽(tīng)函數(shù)on中的this指針域使用

    vue事件監(jiān)聽(tīng)函數(shù)on中的this指針域使用

    這篇文章主要介紹了vue事件監(jiān)聽(tīng)函數(shù)on中的this指針域使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評(píng)論

垦利县| 石门县| 临洮县| 板桥市| 碌曲县| 磴口县| 西宁市| 饶河县| 莒南县| 泸西县| 张家港市| 芒康县| 横峰县| 鄂伦春自治旗| 汉川市| 双柏县| 新泰市| 林芝县| 交城县| 陕西省| 广元市| 项城市| 石楼县| 桂林市| 鹤岗市| 沛县| 饶平县| 乌拉特前旗| 武陟县| 正宁县| 封丘县| 安顺市| 正安县| 永善县| 抚州市| 峡江县| 通海县| 阿瓦提县| 区。| 凉城县| 墨玉县|