Vue3中Axios的使用 附完整代碼
前言
首先介紹一下什么是axios
Axios 是一個(gè)基于 promise 網(wǎng)絡(luò)請(qǐng)求庫(kù),作用于node.js 和瀏覽器中。 它是 isomorphic 的(即同一套代碼可以運(yùn)行在瀏覽器和node.js中)。在服務(wù)端它使用原生 node.js http
模塊, 而在客戶端 (瀏覽端) 則使用 XMLHttpRequests
官方網(wǎng)站:Axios中文文檔 | Axios中文網(wǎng)
目前官方最新版本1.8.4
一、Axios優(yōu)勢(shì)
1.簡(jiǎn)單易用
Axios提供了簡(jiǎn)潔一致的API,使得發(fā)送HTTP請(qǐng)求變得非常容易。無(wú)論是GET、POST、PUT還是DELETE等請(qǐng)求,都可以通過(guò)簡(jiǎn)潔的語(yǔ)法輕松實(shí)現(xiàn)
2.支持Promise
Axios基于Promise實(shí)現(xiàn),使得我們可以使用更加現(xiàn)代化的異步編程方式。通過(guò)使用Promise,我們可以更好地處理異步請(qǐng)求,避免回調(diào)地獄和代碼的混亂。
3.攔截器功能
Axios提供了請(qǐng)求和響應(yīng)攔截器的功能,可以在請(qǐng)求發(fā)送前和響應(yīng)返回后進(jìn)行一些額外的處理。這使得我們能夠在請(qǐng)求過(guò)程中進(jìn)行一些自定義的操作,比如添加請(qǐng)求頭、錯(cuò)誤處理等。
4.瀏覽器和Node.js支持
Axios既可以在瀏覽器環(huán)境下運(yùn)行,也可以在Node.js環(huán)境中使用。這使得我們可以在前后端開(kāi)發(fā)中都能輕松使用同一套API,提高開(kāi)發(fā)效率。
5.自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)
Axios可以自動(dòng)轉(zhuǎn)換請(qǐng)求和響應(yīng)中的JSON數(shù)據(jù),使得數(shù)據(jù)處理更加方便。例如,當(dāng)我們發(fā)送一個(gè)POST請(qǐng)求時(shí),Axios會(huì)自動(dòng)將JavaScript對(duì)象轉(zhuǎn)換為JSON字符串。
二、安裝
我這里使用的編譯器是VSCode 只需要將你的項(xiàng)目文件在集成終端打開(kāi)輸入安裝指令即可
npm install axios
下載完之后可以在 package.json中查看是否下載成功
三、使用步驟
1.創(chuàng)建文件夾
由于我們這里使用的是二次封裝的寫(xiě)法。所以需要在src文件夾下創(chuàng)建一個(gè)API文件夾
在API文件夾中創(chuàng)建兩個(gè)JS文件,一個(gè)名為api.js,另一個(gè)名為request.js
2.創(chuàng)建Axios對(duì)象
在api.js文件中編寫(xiě)以下代碼
//第一步導(dǎo)入Axios庫(kù) import axios from "axios"; //創(chuàng)建一個(gè)Axios對(duì)象 const request = axios.create({ baseURL:"xxxxxxx", timeout: 5000 }) export default request
- baseURL:基礎(chǔ)路徑,默認(rèn)是/ ,這里一般寫(xiě)的是后端的接口地址。如果是本地json數(shù)據(jù)的話,這里寫(xiě)的就是你Vue啟動(dòng)時(shí)候的默認(rèn)地址。
- timeout:請(qǐng)求超時(shí),這里設(shè)置的是5000毫秒
- export default:將request模塊導(dǎo)出
3.封裝請(qǐng)求方法
在request.js中編寫(xiě)以下代碼
//引入request模塊 import request from "./api"; export function userlogin(data){ return request({ url:'xxxxxx', method:'xxxx', data:data }) }
- url:后端方法接口,如果是本地json數(shù)據(jù)的話,這里寫(xiě)的就是你json文件的路徑
- method:請(qǐng)求方法。下面列表中是對(duì)于各種請(qǐng)求方法的介紹以即描述
- data:向后端發(fā)送的數(shù)據(jù)。如果是GET方法的話,這里的配置項(xiàng)要變成params
序號(hào) | 方法 | 描述 |
---|---|---|
1 | GET | 從服務(wù)器獲取資源。用于請(qǐng)求數(shù)據(jù)而不對(duì)數(shù)據(jù)進(jìn)行更改。例如,從服務(wù)器獲取網(wǎng)頁(yè)、圖片等。 |
2 | POST | 向服務(wù)器發(fā)送數(shù)據(jù)以創(chuàng)建新資源。常用于提交表單數(shù)據(jù)或上傳文件。發(fā)送的數(shù)據(jù)包含在請(qǐng)求體中。 |
3 | PUT | 向服務(wù)器發(fā)送數(shù)據(jù)以更新現(xiàn)有資源。如果資源不存在,則創(chuàng)建新的資源。與 POST 不同,PUT 通常是冪等的,即多次執(zhí)行相同的 PUT 請(qǐng)求不會(huì)產(chǎn)生不同的結(jié)果。 |
4 | DELETE | 從服務(wù)器刪除指定的資源。請(qǐng)求中包含要?jiǎng)h除的資源標(biāo)識(shí)符。 |
5 | PATCH | 對(duì)資源進(jìn)行部分修改。與 PUT 類似,但 PATCH 只更改部分?jǐn)?shù)據(jù)而不是替換整個(gè)資源。 |
6 | HEAD | 類似于 GET,但服務(wù)器只返回響應(yīng)的頭部,不返回實(shí)際數(shù)據(jù)。用于檢查資源的元數(shù)據(jù)(例如,檢查資源是否存在,查看響應(yīng)的頭部信息)。 |
7 | OPTIONS | 返回服務(wù)器支持的 HTTP 方法。用于檢查服務(wù)器支持哪些請(qǐng)求方法,通常用于跨域資源共享(CORS)的預(yù)檢請(qǐng)求。 |
8 | TRACE | 回顯服務(wù)器收到的請(qǐng)求,主要用于診斷??蛻舳丝梢圆榭凑?qǐng)求在服務(wù)器中的處理路徑。 |
9 | CONNECT | 建立一個(gè)到服務(wù)器的隧道,通常用于 HTTPS 連接??蛻舳丝梢酝ㄟ^(guò)該隧道發(fā)送加密的數(shù)據(jù)。 |
4.組件使用
在對(duì)應(yīng)Vue組件中引入封裝好的方法
<script setup> //引入封裝好的方法 import { userlogin } from '@/API/request' userlogin().then((res) =>{ console.log(res.data) }) </script>
res.data:通過(guò)接口獲取的數(shù)據(jù)
到此這篇關(guān)于Vue3中Axios的使用-附完整代碼的文章就介紹到這了,更多相關(guān)vue axios使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue父子組件傳值以及單向數(shù)據(jù)流問(wèn)題詳解
大家應(yīng)該都知道父組件可以向子組件通過(guò)屬性形式傳遞參數(shù),傳遞的參數(shù)也可以隨時(shí)隨意修改;但子組件不能修改父組件傳遞過(guò)來(lái)的參數(shù),所以下面這篇文章主要給大家介紹了關(guān)于vue父子組件傳值以及單向數(shù)據(jù)流問(wèn)題的相關(guān)資料,需要的朋友可以參考下2021-09-09vue3實(shí)現(xiàn)動(dòng)態(tài)添加路由
這篇文章主要介紹了vue3實(shí)現(xiàn)動(dòng)態(tài)添加路由方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04VUE異步更新DOM - 用$nextTick解決DOM視圖的問(wèn)題
這篇文章主要介紹了VUE異步更新DOM - 用$nextTick解決DOM視圖的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11vue基于mint-ui的城市選擇3級(jí)聯(lián)動(dòng)的示例
本篇文章主要介紹了vue基于mint-ui的城市選擇3級(jí)聯(lián)動(dòng)的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10vue如何通過(guò)某個(gè)字段獲取詳細(xì)信息
這篇文章主要介紹了vue如何通過(guò)某個(gè)字段獲取詳細(xì)信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07vue實(shí)現(xiàn)百度語(yǔ)音合成的實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于vue實(shí)現(xiàn)百度語(yǔ)音合成的實(shí)例內(nèi)容,以及相關(guān)代碼,需要的朋友們參考下。2019-10-10