關(guān)于Vue3使用axios的配置教程詳解
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)文章希望大家以后多多支持腳本之家!
- vue3使用axios并封裝axios請(qǐng)求的詳細(xì)步驟
- Vue3 axios配置以及cookie的使用方法實(shí)例演示
- 前端vue3使用axios調(diào)用后端接口的實(shí)現(xiàn)方法
- 關(guān)于vue3.0使用axios報(bào)錯(cuò)問題
- Vue3在Setup中使用axios請(qǐng)求獲取的值方式
- Vue3如何使用axios發(fā)起網(wǎng)絡(luò)請(qǐng)求
- Vue3中使用typescript封裝axios的實(shí)例詳解
- 使用vue3.x+vite+element-ui+vue-router+vuex+axios搭建項(xiàng)目
- vue3 axios安裝及使用示例詳解
相關(guān)文章
詳解polyfills如何按需加載及場(chǎng)景示例詳解
這篇文章主要為大家介紹了詳解polyfills如何按需加載及場(chǎng)景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Vue 項(xiàng)目部署到服務(wù)器的問題解決方法
本篇文章主要介紹了Vue 項(xiàng)目部署到服務(wù)器的問題解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12詳解Vue-axios 設(shè)置請(qǐng)求頭問題
這篇文章主要介紹了Vue-axios 設(shè)置請(qǐng)求頭問題,文中給大家提到了axios設(shè)置請(qǐng)求頭內(nèi)容的方法,需要的朋友可以參考下2018-12-12Vue Element前端應(yīng)用開發(fā)之菜單資源管理
在權(quán)限管理系統(tǒng)中,菜單也屬于權(quán)限控制的一個(gè)資源,屬于角色控制的一環(huán)。不同角色用戶,登錄系統(tǒng)后,出現(xiàn)的系統(tǒng)菜單是不同的。菜單結(jié)合路由集合,實(shí)現(xiàn)可訪問路由的過濾,也就實(shí)現(xiàn)了對(duì)應(yīng)角色菜單的展示和可訪問路由的控制。2021-05-05vue實(shí)現(xiàn)修改圖片后實(shí)時(shí)更新
今天小編就為大家分享一篇vue實(shí)現(xiàn)修改圖片后實(shí)時(shí)更新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue實(shí)現(xiàn)下拉加載其實(shí)沒那么復(fù)雜
這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)下拉加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08詳解vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot
本篇文章給大家通過代碼實(shí)例分析了vue.js數(shù)據(jù)傳遞以及數(shù)據(jù)分發(fā)slot的相關(guān)知識(shí),有這方面興趣的朋友參考下吧。2018-01-01Vue CLI4 Vue.config.js標(biāo)準(zhǔn)配置(最全注釋)
這篇文章主要介紹了Vue CLI4 Vue.config.js標(biāo)準(zhǔn)配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06