Vue+axios

1. axios簡介

axios 是一個基于 Promise 的 HTTP 客戶端,主要用于瀏覽器和 Node.js 環境中發送 HTTP 請求。它是目前前端開發中最流行的網絡請求庫之一,被廣泛應用于各種 JavaScript 項目(如 React、Vue、Angular 等框架或原生 JS 項目)。

????????核心特點

  • 支持瀏覽器和 Node.js?:在瀏覽器中使用 XMLHttpRequest 發送請求,在 Node.js 中使用 http 模塊,實現了跨環境兼容。
  • 基于 Promise?:支持 Promise API,可配合?async/await?使用,讓異步請求代碼更簡潔、易讀。
  • 攔截請求和響應?:可以在請求發送前或響應返回后進行攔截處理(如添加請求頭、處理錯誤、加載狀態管理等)。
  • 自動轉換 JSON 數據?:請求時會自動將數據轉為 JSON 格式,響應時會自動解析 JSON 數據,無需手動處理。
  • 取消請求:支持取消正在進行的 HTTP 請求,避免無效請求浪費資源。
  • 超時處理:可以設置請求超時時間,超時后自動中斷請求。
  • 客戶端防止 XSRF:提供了防御跨站請求偽造(XSRF)的機制。

?

2. axios請求地址

鏈接請求方式:功能強大的網絡請求庫

<script?src="https://unpkg.com/axios/dist/axios.min.js"></script>

?本地導入方式:例子:在同目錄下的js文件里的本地axios文件

<script src="js/axios.min.js"></script>

?

3. axios的基本結構

var myurl = "需要請求的頁面以及參數"
axios.get(myurl).then(function(res))

myurl指的是向后臺請求的頁面以及自定義訪問的參數

res指后臺響應請求后傳遞回的參數,數據格式一般為json,用Vue中的data來接收

舉例:向后臺servlet的class.do發送操作請求op=classList

var app=new Vue({el: "#app",data:{classesList:[]},methods:{searchClass:function () {var than = thisvar myurl="http://localhost:8080/class.do?op=classesList"axios.get(myurl).then(function (res) {than.classesList=res.data})}}
})

如果myurl傳遞參數多,則使用axios.post(myurl)方法。

進階:axios的標準格式為

axios.get(myurl,headers{})

其中myurl為傳遞參數地址,header{}為請求頭

如果傳遞參數過多,則使用post:

axios.post(myurl,body,headers)axios.post(myurl,{'key':'value','key2':'value',...},headers{'token':'value'})

myurl為傳遞參數的地址,

body為傳遞的參數map,

headers為傳遞的請求頭。

附錄:

請求頭 headers 簡介

在 HTTP 協議中,請求頭(Request Headers)是客戶端(如瀏覽器)向服務器發送請求時攜帶的附加信息。它們以鍵值對的形式存在,用于描述請求的元數據(如瀏覽器類型、請求的資源類型、緩存策略等),幫助服務器理解如何處理請求。

理解請求頭是開發和調試 HTTP 應用的基礎,合理設置請求頭可優化性能、增強安全性,并確保客戶端與服務器正確交互。

1.?通用頭(General Headers)

適用于請求和響應,但與具體數據無關:

  • Cache-Control:控制緩存策略(如no-cache,?max-age=3600)。
  • Connection:控制連接狀態(如keep-alive,?close)。
  • Date:請求的日期和時間。
  • Pragma:兼容性緩存指令(如no-cache)。
  • Transfer-Encoding:數據傳輸編碼方式(如chunked)。

2.?請求頭(Request-Specific Headers)

描述請求的特定信息:

  • Accept:客戶端可接受的響應內容類型(如application/json,?text/html)。
  • Accept-Charset:客戶端可接受的字符集(如utf-8,?iso-8859-1)。
  • Accept-Encoding:客戶端可接受的內容編碼(如gzip,?deflate,?br)。
  • Accept-Language:客戶端可接受的自然語言(如zh-CN,?en-US)。
  • Authorization:身份驗證信息(如Bearer token,?Basic base64)。
  • Cookie:客戶端存儲的 Cookie 信息。
  • Host:請求的服務器域名和端口(如www.example.com:443)。
  • Origin:發起跨域請求的源(如https://example.com)。
  • Referer:前一個頁面的 URL(拼寫錯誤但被廣泛接受)。
  • User-Agent:客戶端信息(如瀏覽器類型、操作系統,如Mozilla/5.0 (Windows NT 10.0)...)。

3.?實體頭(Entity Headers)

描述請求體的元數據(若有請求體):

  • Content-Length:請求體的長度(字節)。
  • Content-Type:請求體的媒體類型(如application/json,?multipart/form-data)。
  • Content-Encoding:請求體的編碼方式(如gzip)。
  • Content-Language:請求體的自然語言(如zh-CN)。

Axios(HTTP 客戶端)

axios.post('https://api.example.com/data', { key: 'value' }, {headers: {'Content-Type': 'application/json','Authorization': 'Bearer your_token'}
});

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

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

相關文章

通過Tcl腳本命令:set_param labtools.auto_update_hardware 0

1.通過Tcl腳本命令&#xff1a;set_param labtools.auto_update_hardware 0 禁用JTAG上電檢測&#xff0c;因為2016.1 及更高版本 Vivado 硬件管理器中&#xff0c;當 FPGA正連接編程電纜時 重新上電&#xff0c;可能會出現FPGA無法自動加載程序的故障。 2.還可以通過 hw_serv…

Spring Boot 安全登錄系統:前后端分離實現

關鍵詞&#xff1a;Spring Boot、安全登錄、JWT、Shiro / Spring Security、前后端分離、Vue、MySQL 詳細代碼請參考這篇文章&#xff1a;完整 Spring Boot Vue 登錄 ? 摘要 在現代 Web 應用中&#xff0c;用戶登錄與權限控制是系統安全性的基礎環節。本文將手把手帶你實現…

Docker高級管理--Dockerfile 鏡像制作

目錄 一&#xff1a;Docker 鏡像管理 1:Docker 鏡像結構 &#xff08;1&#xff09; 鏡像分層核心概念 &#xff08;2&#xff09;鏡像層特性 &#xff08;3&#xff09;關鍵操作命令 &#xff08;4&#xff09;優化建議 2&#xff1a;Dockerfile介紹 &#xff08;1&…

Leetcode力扣解題記錄--第42題 接雨水(動規和分治法)

題目鏈接&#xff1a;42. 接雨水 - 力扣&#xff08;LeetCode&#xff09; 這里我們可以用兩種方法去解決巧妙地解決這個題。首先來看一下題目 題目描述 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖&#xff0c;計算按此排列的柱子&#xff0c;下雨之后能接多少雨水。…

寶塔配置pgsql可以遠程訪問

本地navicat premium 17.0 可以遠程訪問pgsql v16.1寶塔的軟件商店里&#xff0c;找到pgsql管理器&#xff1b;在pgsql管理器里找到客戶端認證&#xff1a;第二步&#xff1a;配置修改&#xff0c;CtrlF 查找listen_addresses關鍵字&#xff1b;第三步&#xff1a;在navicat里配…

小架構step系列12:單元測試

1 概述 測試的種類很多&#xff1a;單元測試、集成測試、系統測試等&#xff0c;程序員寫代碼進行測試的可以稱為白盒測試&#xff0c;單元測試和集成測試都可以進行白盒測試&#xff0c;可以理解為單元測試是對某個類的某個方法進行測試&#xff0c;集成測試則是測試一連串的…

SpringBoot3-Flowable7初體驗

目錄簡介準備JDKMySQLflowable-ui創建流程圖要注意的地方編碼依賴和配置控制器實體Flowable任務處理類驗證啟動程序調用接口本文源碼參考簡介 Flowable是一個輕量的Java業務流程引擎&#xff0c;用于實現業務流程的管理和自動化。相較于老牌的Activiti做了一些改進和擴展&…

phpMyAdmin:一款經典的MySQL在線管理工具又回來了

phpMyAdmin 是一個免費開源、基于 Web 的 MySQL/MariaDB 數據庫管理和開發工具。它提供了一個直觀的圖形用戶界面&#xff0c;使得我們無需精通復雜的 SQL 命令也能執行大多數數據庫管理任務。 phpMyAdmin 項目曾經暫停將近兩年&#xff0c;不過 2025 年又開始發布新版本了。 …

存儲服務一NFS文件存儲概述

前言&#xff1a; 網絡文件系統&#xff08;Network File System&#xff0c;NFS&#xff09;誕生于1984年&#xff0c;由Sun Microsystems首創&#xff0c;旨在解決異構系統間的文件共享需求。作為一種基于客戶端-服務器架構的分布式文件協議&#xff0c;NFS允許遠程主機通過T…

libimagequant 在 mac 平臺編譯雙架構

在 macOS 上編譯 libimagequant 的雙架構&#xff08;aarch64 x86_64&#xff09;通用二進制庫&#xff0c;以下是完整步驟&#xff1a;??1. 準備 Rust 工具鏈?? # 安裝兩個目標平臺 rustup target add aarch64-apple-darwin x86_64-apple-darwin# 確認安裝成功 rustup ta…

暑期自學嵌入式——Day01(C語言階段)

點關注不迷路喲。你的點贊、收藏&#xff0c;一鍵三連&#xff0c;是我持續更新的動力喲&#xff01;&#xff01;&#xff01; 主頁&#xff1a; 一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?spm1011.2682.3001.5343感悟&#xff1a; 今天我認為最重…

Flutter基礎(前端教程⑧-數據模型)

這個示例展示了如何創建數據模型、解析 JSON 數據&#xff0c;以及在 UI 中使用這些數據&#xff1a;import package:flutter/material.dart; import dart:convert;void main() {// 示例&#xff1a;手動創建User對象final user User(id: 1,name: 張三,age: 25,email: zhangsa…

SSRF10 各種限制繞過之30x跳轉繞過協議限制

ssrf漏洞在廠商的處理下可能進行一些特殊處理導致我們無法直接利用漏洞 有以下四種&#xff1a; 1.ip地址限制繞過 2.域名限制繞過 3.30x跳轉繞過域名限制 4.DNS rebinding繞過內網ip限制 本章我們講30x跳轉繞過域名限制 30x跳轉繞過域名限制 之前我們使用ssrf漏洞時可以…

DNS解析過程和nmap端口掃描

目錄 DNS解析流程&#xff1a; nmap端口掃描 指定掃描方式 TCP全連接掃描 -sT SYN半連接掃描 -sS -sT和 -sS的區別 Linux提權 利用好谷歌語法查找敏感信息 如果自己搭建了網站文件要放在phpstudy_pro\WWW下。 如果想要使用域名訪問網站&#xff0c;需要在phpstudy_pro…

【基于開源大模型(如deepseek)開發應用及其發展趨勢的一點思考】

1. 開源大模型技術發展現狀1.1 DeepSeek等主流開源大模型的技術特性分析 DeepSeek作為當前最具代表性的開源大模型之一&#xff0c;其技術架構具有多項創新特性。該模型采用混合專家架構(MoE)&#xff0c;通過將視覺編碼分離為"理解"和"生成"兩條路徑&…

java8 ConcurrentHashMap 桶級別鎖實現機制

Java 8 ConcurrentHashMap 桶級別鎖實現機制 Java 8 中的 ConcurrentHashMap 拋棄了分段鎖設計&#xff0c;采用了更細粒度的桶級別鎖&#xff08;bucket-level locking&#xff09;實現&#xff0c;這是其并發性能提升的關鍵。下面詳細解析其實現原理&#xff1a; 1. 基本實現…

Python正則表達式實戰指南

一 正則表達式庫正則表達式是文本處理中不可或缺的強大工具&#xff0c;Python通過re模塊提供了完整的正則表達式支持。本文將詳細介紹re模塊中最常用的match()、search()和findall()函數&#xff0c;以及貪婪模式與非貪婪模式的區別&#xff0c;幫助讀者掌握Python中正則表達式…

使用球體模型模擬相機成像:地面與天空的可見性判斷與紋理映射

在傳統相機模擬中&#xff0c;地面通常被建模為一個平面&#xff08;Plane&#xff09;&#xff0c;這在低空場景下是合理的。但在更大視場范圍或遠距觀察時&#xff0c;地球的曲率不可忽視。因此&#xff0c;我們需要將地面模型從平面升級為球體&#xff0c;并基于球面與光線的…

Agent自動化與代碼智能

核心問題&#xff1a; 現在很多團隊做AI系統有個大毛病&#xff1a;只顧追求“高大上”的新技術&#xff08;尤其是AI Agent&#xff09;&#xff0c;不管實際業務需不需要。 結果系統搞得又貴、又復雜、還容易出錯。大家被“Agent”這個概念搞暈了&#xff1a;到底啥時候用簡單…

SQL141 試卷完成數同比2020年的增長率及排名變化

SQL141 試卷完成數同比2020年的增長率及排名變化 withtemp as (selectexam_id,tag,date(submit_time) as submit_timefromexamination_infoleft join exam_record using (exam_id)wheresubmit_time is not null),2021_temp as (selecttag,count(*) as exam_cnt_21,rank() over…