Vue3中Axios的使用-附完整代碼

前言

首先介紹一下什么是axios

Axios 是一個基于?promise?網絡請求庫,作用于node.js?和瀏覽器中。 它是?isomorphic?的(即同一套代碼可以運行在瀏覽器和node.js中)。在服務端它使用原生 node.js?http?模塊, 而在客戶端 (瀏覽端) 則使用 XMLHttpRequests

官方網站:Axios中文文檔 | Axios中文網

目前官方最新版本1.8.4


一、Axios優勢

1.簡單易用

Axios提供了簡潔一致的API,使得發送HTTP請求變得非常容易。無論是GET、POST、PUT還是DELETE等請求,都可以通過簡潔的語法輕松實現

2.支持Promise

Axios基于Promise實現,使得我們可以使用更加現代化的異步編程方式。通過使用Promise,我們可以更好地處理異步請求,避免回調地獄和代碼的混亂。

3.攔截器功能

Axios提供了請求和響應攔截器的功能,可以在請求發送前和響應返回后進行一些額外的處理。這使得我們能夠在請求過程中進行一些自定義的操作,比如添加請求頭、錯誤處理等。

4.瀏覽器和Node.js支持

Axios既可以在瀏覽器環境下運行,也可以在Node.js環境中使用。這使得我們可以在前后端開發中都能輕松使用同一套API,提高開發效率。

5.自動轉換JSON數據

Axios可以自動轉換請求和響應中的JSON數據,使得數據處理更加方便。例如,當我們發送一個POST請求時,Axios會自動將JavaScript對象轉換為JSON字符串。

二、安裝

我這里使用的編譯器是VSCode? 只需要將你的項目文件在集成終端打開輸入安裝指令即可

npm install axios

下載完之后可以在 package.json中查看是否下載成功

三、使用步驟

1.創建文件夾

由于我們這里使用的是二次封裝的寫法。所以需要在src文件夾下創建一個API文件夾

在API文件夾中創建兩個JS文件,一個名為api.js,另一個名為request.js

?

2.創建Axios對象

在api.js文件中編寫以下代碼?

//第一步導入Axios庫
import axios from "axios";
//創建一個Axios對象
const request = axios.create({baseURL:"xxxxxxx",timeout: 5000 
})
export default request
  • baseURL:基礎路徑,默認是/ ,這里一般寫的是后端的接口地址。如果是本地json數據的話,這里寫的就是你Vue啟動時候的默認地址。

  • timeout:請求超時,這里設置的是5000毫秒

  • export default:將request模塊導出

3.封裝請求方法?

在request.js中編寫以下代碼

//引入request模塊
import request from "./api";
export function userlogin(data){return request({url:'xxxxxx',method:'xxxx',data:data})
}
  • url:后端方法接口,如果是本地json數據的話,這里寫的就是你json文件的路徑
  • method:請求方法。下面列表中是對于各種請求方法的介紹以即描述
  • data:向后端發送的數據。如果是GET方法的話,這里的配置項要變成params
序號方法描述
1GET從服務器獲取資源。用于請求數據而不對數據進行更改。例如,從服務器獲取網頁、圖片等。
2POST向服務器發送數據以創建新資源。常用于提交表單數據或上傳文件。發送的數據包含在請求體中。
3PUT向服務器發送數據以更新現有資源。如果資源不存在,則創建新的資源。與 POST 不同,PUT 通常是冪等的,即多次執行相同的 PUT 請求不會產生不同的結果。
4DELETE從服務器刪除指定的資源。請求中包含要刪除的資源標識符。
5PATCH對資源進行部分修改。與 PUT 類似,但 PATCH 只更改部分數據而不是替換整個資源。
6HEAD類似于 GET,但服務器只返回響應的頭部,不返回實際數據。用于檢查資源的元數據(例如,檢查資源是否存在,查看響應的頭部信息)。
7OPTIONS返回服務器支持的 HTTP 方法。用于檢查服務器支持哪些請求方法,通常用于跨域資源共享(CORS)的預檢請求。
8TRACE回顯服務器收到的請求,主要用于診斷。客戶端可以查看請求在服務器中的處理路徑。
9CONNECT建立一個到服務器的隧道,通常用于 HTTPS 連接。客戶端可以通過該隧道發送加密的數據。

4.組件使用

在對應Vue組件中引入封裝好的方法

<script setup>
//引入封裝好的方法
import { userlogin } from '@/API/request'
userlogin().then((res) =>{console.log(res.data)})</script>
  • res.data:通過接口獲取的數據?


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83393.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83393.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83393.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

@Pushgateway自定義腳本推送數據

文章目錄 Pushgateway 自定義腳本推送數據1. 目的2. 適用范圍3. 前提條件4. 操作流程4.1 確定指標類型和格式4.2 編寫推送腳本方法一:使用 curl 命令行推送方法二:使用 Python 腳本推送方法三:使用 Python 客戶端庫推送4.3 設置定時任務4.4 驗證數據5. 高級配置5.1 使用基本…

Git 使用規范指南

Learn Git Branching 1Git 基礎使用流程 1.1初始化與克隆 # 初始化本地倉庫 git init# 克隆遠程倉庫 git clone <repo_url> 一般拉取代碼&#xff0c;直接在文件夾界面打開bash&#xff0c;git clone就行了 1.2日常開發流程 1拉取最新代碼 git pull origin <branc…

設計模式——備忘錄設計模式(行為型)

摘要 備忘錄設計模式是一種行為型設計模式&#xff0c;用于在不破壞封裝性的前提下&#xff0c;捕獲對象的內部狀態并在需要時恢復。它包含三個關鍵角色&#xff1a;原發器&#xff08;Originator&#xff09;、備忘錄&#xff08;Memento&#xff09;和負責人&#xff08;Car…

動態規劃十大經典題型狀態轉移、模版等整理(包括leetcode、洛谷題號)

動態規劃十大經典題目整理 0-1 背包問題&#xff08;0-1 Knapsack Problem&#xff09; LeetCode題號&#xff1a;無直接對應洛谷OJ題號&#xff1a;P1048狀態轉移方程&#xff1a;dp[j] max(dp[j], dp[j - weight[i]] value[i])C代碼模板&#xff1a; int dp[capacity 1…

簡單transformer運用

通俗易懂解讀&#xff1a;hw04.py 文件內容與 Transformer 的應用 這個文件是一個 Python 腳本&#xff08;hw04.py&#xff09;&#xff0c;用于完成 NTU 2021 Spring 機器學習課程的 HW4 作業任務&#xff1a;揚聲器分類&#xff08;Speaker Classification&#xff09;。它…

redis的哨兵模式和Redis cluster

目錄 一. redis的主從復制 二. 哨兵模式 2.1 定義 2.2 作用 2.3 配置實例 三. Redis cluster 3.1 定義 3.2 作用 3.3 配置實例 1. 新建集群文件目錄 2. 準備可執行文件到每個文件夾 3. 開啟群集功能 4. 啟動redis節點 5. 查看是否啟動成功 6. 啟動集群 7. 測試…

簡述八大排序(Sort)

1.插入排序 1.1直接插入排序 給定一組數據&#xff0c;若數據只有一個肯定是有序的&#xff0c;我們將無序數據一個個插入到已有序的數據中。用i遍歷無序數據&#xff0c;j遍歷有序數據&#xff0c;找到合適插入位置&#xff0c;用tmp存放目標插入數據&#xff0c;將其與j對應…

xcode 編譯運行錯誤 Sandbox: rsync(29343) deny(1) file-write-create

解決方法 方法一&#xff1a;修改Targets -> Build Settings 中 ENABLE_USER_SCRIPT_SANDBOXING 設置 NO 方法二&#xff1a;項目使用cocoaPods進行三方管理 且 使用了 use_frameworks&#xff0c;把 use_frameworks 注釋掉,然后重新自行pod install

linux系統中防火墻的操作

防火墻 開放ssh端口 sudo ufw allow 22/tcp # 允許 SSH 連接 sudo ufw enable開放防火墻端口 sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS&#xff08;如果需要&#xff09; sudo ufw enable查看擋墻防火墻設置 sudo ufw status刪除其中一條防火墻規…

[特殊字符] 超強 Web React版 PDF 閱讀器!支持分頁、縮放、旋轉、全屏、懶加載、縮略圖!

在現代 Web 項目中&#xff0c;PDF 瀏覽是一個常見需求&#xff1a;從政務公文到合同協議&#xff0c;PDF 文件無處不在。但很多方案要么體驗不佳&#xff0c;要么集成復雜。今天&#xff0c;我給大家帶來一個開箱即用、功能全面的 PDF 預覽組件 —— [PDFView](https://www.np…

設計模式——策略設計模式(行為型)

摘要 策略設計模式是一種行為型設計模式&#xff0c;它定義了一系列算法并將每個算法封裝起來&#xff0c;使它們可以相互替換。該模式讓算法的變化獨立于使用算法的客戶&#xff0c;從而使得算法可以靈活地切換和擴展。其主要角色包括策略接口、具體策略類和環境類。策略模式…

DeepSeek-R1-0528,官方的端午節特別獻禮

DeepSeek&#xff1a;端午安康&#xff01;刻在國人骨子里的浪漫 2025 年 05 月 28 日 | DeepSeek 端午特別獻禮 當粽葉飄香時&#xff0c;DeepSeek 悄然帶來一份節日驚喜 版本號 DeepSeek-R1-0528 正式上線 官方賦予它的靈魂是&#xff1a; 思考更深 推理更強 用戶通過官網…

mac安裝brew時macos無法信任ruby的解決方法

背景 在使用如下腳本安裝brew時&#xff0c;遇到安裝ruby&#xff0c;macos不信任外部軟件&#xff0c;在安全性點擊信任仍然無法安裝。 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"如何解決 本地安裝好符…

2025音頻傳輸模塊全球選購指南:高品質音頻體驗的品牌之選

隨著無線技術的迅猛發展&#xff0c;音頻傳輸模塊&#xff08;Audio Transmission Module&#xff09;已成為高品質音頻體驗的關鍵技術之一。它們廣泛應用于智能家居、無線耳機、會議系統、廣播設備以及專業音頻領域。面對市場上多樣化的產品&#xff0c;如何選擇適合自己需求的…

解析樓宇自控系統:分布式結構的核心特點與優勢展現

在建筑智能化發展的進程中&#xff0c;樓宇自控系統作為實現建筑高效運行與管理的關鍵&#xff0c;其系統結構的選擇至關重要。傳統的集中式樓宇自控系統在面對日益復雜的建筑環境和多樣化的管理需求時&#xff0c;逐漸暴露出諸多弊端&#xff0c;如可靠性低、擴展性差、響應速…

Spring Boot對一些技術框架進行了統一版本號管理

這個說法是 正確的。 Spring Boot 對許多常用依賴進行了版本管理&#xff0c;因此在項目中引入這些依賴時&#xff0c;通常不需要指定版本號。 Spring Boot 依賴版本管理 &#x1f6e0;? spring-boot-starter-parent&#xff1a;當你的項目在 pom.xml (Maven 項目) 中繼承自…

關于MySQL的索引

一、索引 1、索引概述 1.1、介紹 索引&#xff08; index &#xff09;是幫助 MySQL 高效獲取數據的數據結構 ( 有序 ) 。在數據之外&#xff0c;數據庫系統還維護著滿足特定查找算法的數據結構&#xff0c;這些數據結構以某種方式引用&#xff08;指向&#xff09;數據&…

微服務常用日志追蹤方案:Sleuth + Zipkin + ELK

在微服務架構中&#xff0c;一個用戶請求往往需要經過多個服務的協同處理。為了有效追蹤請求的完整調用鏈路&#xff0c;需要一套完整的日志追蹤方案。Sleuth Zipkin ELK 組合提供了完整的解決方案 Sleuth&#xff1a;生成和傳播追蹤IDZipkin&#xff1a;收集、存儲和可視化…

R語言基礎| 創建數據集

在R語言中&#xff0c;有多種數據類型&#xff0c;用以存儲和處理數據。每種數據類型都有其特定的用途和操作函數&#xff0c;使得R語言在處理各種數據分析任務時非常靈活和強大&#xff1a; 向量&#xff08;Vector&#xff09;: 向量是R語言中最基本的數據類型&#xff0c;它…

nssctf第二題[SWPUCTF 2021 新生賽]簡簡單單的邏輯

這是題目&#xff0c;下載后得到一個python文件,打開 解讀代碼&#xff1a; for i in range(len(list)):key (list[i]>>4)((list[i] & 0xf)<<4)result str(hex(ord(flag[i])^key))[2:].zfill(2)list[i]>>4&#xff1a;從列表中取數字同時高4位向右位…