企業培訓筆記:axios 發送 ajax 請求

文章目錄

  • axios 簡介
  • 一,Vue工程中安裝axios
  • 二,編寫app.vue
  • 三,編寫HomeView.vue
  • 四,Idea打開后臺項目
  • 五,創建HelloController
  • 六,配置web訪問端口
  • 七,運行項目,查看效果
    • (一)運行后端SpringBoot項目
    • (二)運行前端Vue3項目
    • (三)查看效果
      • 1. 瀏覽器查看
      • 2. 后端控制臺查看


axios 簡介

axios 是基于 Promise 的HTTP客戶端,用于瀏覽器和 Node.js,是現代前端開發中最流行的請求庫之一。

核心特性

  1. 瀏覽器與 Node.js 通用
    • 瀏覽器端基于 XMLHttpRequest,Node.js 端基于 http 模塊。
  2. Promise API
    • 支持 async/await 語法,避免回調地獄:
      const response = await axios.get('/api/data');
      
  3. 攔截器
    • 可全局攔截請求和響應(如添加認證頭、統一錯誤處理):
      axios.interceptors.request.use(config => {config.headers.Authorization = 'Bearer token';return config;
      });
      
  4. 請求取消
    • 使用 AbortController 取消未完成的請求:
      const controller = new AbortController();
      axios.get('/api/data', { signal: controller.signal });
      controller.abort(); // 取消請求
      
  5. 自動轉換 JSON
    • 響應數據自動解析為 JSON,請求數據自動序列化為 JSON。
  6. 攔截錯誤處理
    • 統一處理 HTTP 錯誤狀態碼(如 401、500):
      axios.interceptors.response.use(response => response,error => {if (error.response.status === 401) {// 處理認證失敗}}
      );
      

典型應用場景

  • 前后端數據交互(如獲取用戶信息、提交表單)。
  • 與 REST API 通信
  • 實時數據更新(如輪詢服務器狀態)。

一,Vue工程中安裝axios

1,單擊【Terminal】按鈕,打開命令行窗口——輸入:【npm Install axios】——單擊【Enter】鍵安裝axios。
在這里插入圖片描述
2,在項目工程目錄中查看安裝好的axios。
在這里插入圖片描述

二,編寫app.vue

在這里插入圖片描述

<template><div id="app"> <!-- 添加根元素 --><h1>vue工程</h1><router-view/></div>
</template><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;
}nav {padding: 30px;
}nav a {font-weight: bold;color: #2c3e50;
}nav a.router-link-exact-active {color: #42b983;
}
</style>

三,編寫HomeView.vue

在這里插入圖片描述

<template><button @click="sendAjax">發送請求</button>
</template><script setup>import axios from "axios";
/*定義函數向后臺發送ajax請求*/
function sendAjax(){axios.get("http://localhost:8081/hello?name=zhangsan").then((response)=>{ //回調函數在前端處理后臺服務器響應的結果console.log(response);console.log(response.data); //獲得服務器響應數據}).catch((error)=>{ //如果發生異常,執行該函數,捕獲異常console.log(error);});
}
</script>

四,Idea打開后臺項目

1,選擇【File】——【Open】。
在這里插入圖片描述
2,選擇創建好的后臺項目,單擊【OK】按鈕,打開項目。
在這里插入圖片描述

3,單擊【New Windows】,以新窗口的形式打開這個項目,避免關閉先前打開的Vue項目。
在這里插入圖片描述
4,如下圖,項目成功打開。
在這里插入圖片描述

五,創建HelloController

1,右擊【Controller】包——選擇【New】——單擊【Java Class】。
在這里插入圖片描述
2,輸入類名【HelloController】——單擊【Enter】鍵,創建類。
在這里插入圖片描述
3,編輯HelloController的代碼。
在這里插入圖片描述

package net.army.controller;import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 功能:測試接收客戶端請求* 日期:2025年07月03日* 作者:梁辰興*/
@RestController
public class HelloController {// 處理客戶端請求@RequestMapping("/sayHello")@CrossOrigin //解決跨域問題public String hello(String name){// 將name輸出到控制臺System.out.println("Hello:"+name);// 將name返回給客戶端return "Hello:"+name;}
}

六,配置web訪問端口

將端口號更改為8081
在這里插入圖片描述

# 應用服務 WEB 訪問端口
server.port=8081

七,運行項目,查看效果

(一)運行后端SpringBoot項目

1,單擊綠色運行按鈕,選擇運行方式。
在這里插入圖片描述

2,單擊【Run ‘SpringBootMyBatisDay…’】,運行項目。
在這里插入圖片描述

3,成功運行界面效果圖。
在這里插入圖片描述

(二)運行前端Vue3項目

1,單擊【serve】按鈕,運行項目。
在這里插入圖片描述
2,成功運行效果圖。
在這里插入圖片描述

(三)查看效果

1. 瀏覽器查看

1,單擊地址:http://localhost:8080/,進入前端頁面;或者復制該地址,粘貼到瀏覽器的地址欄,按回車鍵,打開頁面。
在這里插入圖片描述
2,在瀏覽器界面,按下F12鍵,啟動開發者模式,單擊【控制臺】打開控制臺界面。
在這里插入圖片描述
3,單擊界面中的【發送請求】按鈕——查看控制臺輸出的信息。
在這里插入圖片描述

2. 后端控制臺查看

1,打開后端的項目的Idea窗口,單擊【Run】按鈕,打開運行窗口。
在這里插入圖片描述
2,查看接收到前端發過來的請求內容,zhangsan
在這里插入圖片描述

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

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

相關文章

Maven下載與配置對Java項目的理解

目錄 一、背景 二、JAVA項目與Maven的關系 2.1標準java項目 2.2 maven 2.2.1 下載maven 1、下載 2、配置環境 2.2.2 setting.xml 1、配置settings.xml 2、IDEA配置maven 一、背景 在java項目中&#xff0c;新手小白很有可能看不懂整體的目錄結構&#xff0c;以及每個…

Mars3d的走廊只能在一個平面的無法折疊的解決方案

問題場景&#xff1a;1. Mars3d的CorridorEntity只能在一個平面修改高度值&#xff0c;無法根據坐標點位制作有高度值的走廊效果&#xff0c;想要做大蜀山盤山走廊的效果實現不了。解決方案&#xff1a;1.使用原生cesium實現對應的走廊的截面形狀、走廊的坐標點&#xff0c;包括…

LeetCode 每日一題 2025/7/7-2025/7/13

記錄了初步解題思路 以及本地實現代碼&#xff1b;并不一定為最優 也希望大家能一起探討 一起進步 目錄7/7 1353. 最多可以參加的會議數目7/8 1751. 最多可以參加的會議數目 II7/9 3439. 重新安排會議得到最多空余時間 I7/10 3440. 重新安排會議得到最多空余時間 II7/11 3169. …

Bash常見條件語句和循環語句

以下是 Bash 中常用的條件語句和循環語句分類及語法說明&#xff0c;附帶典型用例&#xff1a;一、條件語句 1. if 語句 作用&#xff1a;根據條件執行不同代碼塊 語法&#xff1a; if [ 條件 ]; then# 條件為真時執行 elif [ 其他條件 ]; then# 其他條件為真時執行 else# 所有…

uni-app 選擇國家區號

uni-app選擇國家區號組件 hy-countryPicker 我們在做登錄注冊功能的時候&#xff0c;可能會遇到選擇區號來使用不同國家手機號來登錄或者注冊的功能。這里我就介紹下我這個uni-app中使用的選擇區號的組件&#xff0c;包含不同國家國旗圖標。 效果圖 別的不說&#xff0c;先來…

客戶端主機宕機,服務端如何處理 TCP 連接?詳解

文章目錄一、客戶端主機宕機后迅速重啟1、服務端有數據發送2、服務端開啟「保活」機制3、服務端既沒有數據發送&#xff0c;也沒有開啟「保活」機制二、客戶端主機宕機后一直沒有重啟1、服務端有數據發送2、服務端開啟「保活」機制3、服務端既沒有數據發送&#xff0c;也沒有開…

《大數據技術原理與應用》實驗報告五 熟悉 Hive 的基本操作

目 錄 一、實驗目的 二、實驗環境 三、數據集 四、實驗內容與完成情況 4.1 創建一個內部表 stocks&#xff0c;字段分隔符為英文逗號&#xff0c;表結構下所示。 4.2 創建一個外部分區表 dividends&#xff08;分區字段為 exchange 和symbol&#xff09;&#xff0c;字段…

【橘子分布式】Thrift RPC(編程篇)

一、簡介 之前我們研究了一下thrift的一些知識&#xff0c;我們知道他是一個rpc框架&#xff0c;他作為rpc自然是提供了客戶端到服務端的訪問以及兩端數據傳輸的消息序列化&#xff0c;消息的協議解析和傳輸&#xff0c;所以我們今天就來了解一下他是如何實現這些功能&#xff…

清理C盤--辦法

c盤經常爆紅1、命令行2、屬性3、臨時文件

Java-71 深入淺出 RPC Dubbo 上手 父工程配置編寫 附詳細POM與代碼

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持續更新中&#xff01;&#xff08;長期更新&#xff09; AI煉丹日志-29 - 字節跳動 DeerFlow 深度研究框斜體樣式架 私有…

創客匠人:創始人 IP 打造的內核,藏在有效的精神成長里

當創始人 IP 成為企業增長的重要引擎&#xff0c;許多人急于尋找 “爆款公式”&#xff0c;卻忽略了一個更本質的問題&#xff1a;IP 的生命力&#xff0c;終究源于創始人的精神成長。創客匠人在深耕知識付費賽道的過程中&#xff0c;見證了無數案例&#xff1a;那些能持續實現…

GPT和MBR分區

GPT&#xff08;GUID分區表&#xff09;和MBR&#xff08;主引導記錄&#xff09;是兩種不同的磁盤分區表格式&#xff0c;用于定義硬盤上分區的布局、位置及啟動信息&#xff0c;二者在設計、功能和適用場景上有顯著差異。以下從多個維度詳細對比&#xff1a; 一、核心定義與起…

c#進階之數據結構(字符串篇)----String

1、String介紹首先我們得明白&#xff0c;string和String代表的實際上是同一個類型&#xff0c;string是C#中的關鍵字&#xff0c;代表String類型&#xff0c;因此我們直接來學習String類型。從官方的底層實現代碼可以看出&#xff0c;當前String類型實際上就是一個Char類型的聚…

快速排序遞歸和非遞歸方法的簡單介紹

基本思想為&#xff1a;任取待排序元素序列中 的某元素作為基準值&#xff0c;按照該排序碼將待排序集合分割成兩子序列&#xff0c;左子序列中所有元素均小于基準值&#xff0c;右 子序列中所有元素均大于基準值&#xff0c;然后最左右子序列重復該過程&#xff0c;直到所有元…

從零開始的云計算生活——第三十二天,四面楚歌,HAProxy負載均衡

目錄 一.HAProxy簡介 二.HAProxy特點和優點&#xff1a; 三.HAProxy保持會話的三種解決方法 四.HAProxy的balance 8種負載均衡算法 1&#xff09;RR&#xff08;Round Robin&#xff09; 2&#xff09;LC&#xff08;Least Connections&#xff09; 3&#xff09;SH&am…

策略模式及優化

策略模式&#xff08;Strategy Pattern&#xff09;是一種行為設計模式&#xff0c;其核心思想是將算法的定義與使用分離&#xff0c;使算法可以獨立于客戶端進行變化。它通過定義一系列算法&#xff0c;將每個算法封裝到獨立的類中&#xff0c;并使它們可以互相替換&#xff0…

微信小程序開發-桌面端和移動端UI表現不一致問題記錄

桌面端和移動端UI表現不一致零、引擎說明一、樣式不同1、text 單行&#xff1a;1.1 空格開發者工具不展示&#xff0c;手機/PC端正常1.2 正常展示省略號&#xff0c;需要2、點擊按鈕z-index: -1。webview - 桌面端不行&#xff0c; skyline - 移動端可以&#xff1b;3、其他說明…

極限狀態下函數開根號的計算理解(含示意圖)

遇到一個挺有意思的題做個記錄&#xff1a; 求曲線y (x21)(x2?1)0.5\frac{\left(x^{2}1\right)}{\left(x^{2}-1\right)^{0.5}}(x2?1)0.5(x21)?漸近線的條數 比較明顯的x 1是無定義點。但是在求極限的時候發現1和1-得到的極限值似乎不一樣。似乎是1是趨向于∞&#xff0c;1…

C++——模版(函數模版和類模版)

C 模板&#xff08;Templates&#xff09;完整介紹模板是 C 中一種強大的泛型編程機制&#xff0c;允許開發者編寫與類型無關的代碼&#xff0c;從而提高代碼的復用性和靈活性。通過模板&#xff0c;可以避免為不同數據類型重復編寫相似的函數或類&#xff0c;實現真正的代碼復…

Python之cv2:cv2(OpenCV,opencv-python)庫pip下載超時、下載失敗、無法下載的解決方案大全

Python之cv2&#xff1a;cv2(OpenCV&#xff0c;opencv-python)庫pip下載超時、下載失敗、無法下載的解決方案大全 在學習和使用 OpenCV&#xff08;Python 包名&#xff1a;opencv-python 或簡稱 cv2&#xff09;的過程中&#xff0c;很多初學者常常會遇到通過 pip install o…