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

關(guān)于Vue3使用axios的配置教程詳解

 更新時(shí)間:2022年04月29日 12:52:36   作者:夏日米米茶  
道axios是一個(gè)庫,并不是vue中的第三方插件,下面這篇文章主要給大家介紹了關(guān)于Vue3使用axios的配置教程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

axios中文網(wǎng)站:axios-http.com/zh/

一、安裝axios

npm install axios --save

二、配置axios,添加攔截器

在src目錄下新建一個(gè)request文件夾,在里面新建index.ts(或者.js)文件,編輯代碼如下:

import axios from 'axios'
// 創(chuàng)建一個(gè) axios 實(shí)例
const service = axios.create({
	baseURL: '/api', // 所有的請(qǐng)求地址前綴部分
	timeout: 60000, // 請(qǐng)求超時(shí)時(shí)間毫秒
	withCredentials: true, // 異步請(qǐng)求攜帶cookie
	headers: {
		// 設(shè)置后端需要的傳參類型
		'Content-Type': 'application/json',
		'token': 'your token',
		'X-Requested-With': 'XMLHttpRequest',
	},
})

// 添加請(qǐng)求攔截器
service.interceptors.request.use(
	function (config) {
		// 在發(fā)送請(qǐng)求之前做些什么
		return config
	},
	function (error) {
		// 對(duì)請(qǐng)求錯(cuò)誤做些什么
		console.log(error)
		return Promise.reject(error)
	}
)

// 添加響應(yīng)攔截器
service.interceptors.response.use(
	function (response) {
		console.log(response)
		// 2xx 范圍內(nèi)的狀態(tài)碼都會(huì)觸發(fā)該函數(shù)。
		// 對(duì)響應(yīng)數(shù)據(jù)做點(diǎn)什么
		// dataAxios 是 axios 返回?cái)?shù)據(jù)中的 data
		const dataAxios = response.data
		// 這個(gè)狀態(tài)碼是和后端約定的
		const code = dataAxios.reset
		return dataAxios
	},
	function (error) {
		// 超出 2xx 范圍的狀態(tài)碼都會(huì)觸發(fā)該函數(shù)。
		// 對(duì)響應(yīng)錯(cuò)誤做點(diǎn)什么
		console.log(error)
		return Promise.reject(error)
	}
)
export default service

三、使用axios發(fā)送請(qǐng)求

在src目錄下新建一個(gè)apis文件夾,這里面放入今后所有的請(qǐng)求文件,例如新建一個(gè)請(qǐng)求用戶信息的接口user.ts,代碼如下:

// 導(dǎo)入axios實(shí)例
import httpRequest from '@/request/index'

// 定義接口的傳參
interface UserInfoParam {
	userID: string,
	userName: string
}

// 獲取用戶信息
export function apiGetUserInfo(param: UserInfoParam) {
    return httpRequest({
		url: 'your api url',
		method: 'post',
		data: param,
	})
}

接著在具體業(yè)務(wù)頁面里使用這個(gè)請(qǐng)求,例如:

<script setup lang="ts">
import { onMounted } from 'vue'
import { apiGetUserInfo } from '@/apis/user'
function getUserInfo() {
	const param = {
		userID: '10001',
		userName: 'Mike',
	}
	apiGetUserInfo(param).then((res) => {
		console.log(res)
	})
}
onMounted(() => {
	getUserInfo()
})
</script>

附:Vue3 中全局引入 axios

main.js中

import axios from 'axios'
const app = createApp(App) // 將默認(rèn)改寫為這樣
app.provide('$axios', axios)

組件內(nèi)使用axios(compositionAPI)

<script setup>
    import { inject } from 'vue'
    const $axios = inject('$axios')
    $axios.get('https://api.github.com/users').then((resp) => {    
      console.log(resp.data)
    }).catch((err) => {
      console.log(err)
    })
</script>

總結(jié)

到此這篇關(guān)于Vue3使用axios的配置的文章就介紹到這了,更多相關(guān)Vue3使用axios配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

寻乌县| 泸定县| 新宁县| 北京市| 五峰| 辰溪县| 洮南市| 辛集市| 松溪县| 阜新| 洛川县| 南乐县| 汨罗市| 温州市| 肇东市| 石景山区| 金乡县| 天峻县| 阜新| 和平区| 南江县| 光泽县| 朝阳市| 江阴市| 商河县| 永泰县| 江津市| 宁城县| 西昌市| 蓬安县| 石家庄市| 岱山县| 大冶市| 东丰县| 淮阳县| 贺兰县| 夏津县| 邹城市| 甘南县| 克拉玛依市| 松滋市|