您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Vue3使用axios的配置方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Vue3使用axios的配置方法”吧!
npm install axios --save
在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
在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>
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>
到此,相信大家對(duì)“Vue3使用axios的配置方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。