当前位置: 首页 > news >正文

js 之 axios

一、介绍
Axios 是前端最常用的「发送网络请求的工具库」,比浏览器原生的 AJAX 更好用,还自带 Promise 支持,
新手上手超简单。二、安装
Axios 是第三方库,用之前要先 “引入” 到项目里,分两种场景(:
场景 1:新手测试(直接在 HTML 里引入)
不用装任何东西,直接从CDN引入
// 引入 Axios(从CDN服务器加载)
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>场景 2:项目开发(npm 安装)
如果是 Vue/React 项目,先打开终端,执行安装命令:
# npm 安装
npm install axios安装后,在项目的 JS 文件里引入:
// 引入 Axios
import axios from 'axios';三、核心基础:Axios 最常用的请求方式
Axios 支持所有 HTTP 请求方法,小白先掌握 2 个核心:GET(查数据)、POST(提交数据)。1. GET 请求
语法结构:
axios.get('请求地址', {params: { // 要传给后端的参数(可选)参数名1: 值1,参数名2: 值2}
})
.then(function(response) {// 请求成功:处理返回的数据console.log('请求成功:', response.data);
})
.catch(function(error) {// 请求失败:处理错误console.log('请求失败:', error);
});示例:
// 向后端请求“ID为1的用户信息”
axios.get('https://api.example.com/user', {params: {id: 1 // 传给后端的参数:id=1}
})
.then(function(res) {// res.data 是后端返回的实际数据console.log('用户姓名:', res.data.name);console.log('用户年龄:', res.data.age);
})
.catch(function(err) {console.log('查用户信息失败:', err.message);
});
说明:
params 里的参数会自动拼到请求地址后面,比如上面的请求地址最终是:https://api.example.com/user?id=1;
如果请求地址里有参数,比如https://api.example.com/user/1/,那这种需要直接用动态变量拼接,写成
axios.get(`https://api.example.com/user/${变量名}`, {params: {}
})
注意用变量时,地址要用反引号包裹,而不是用引号包裹了2. POST 请求
语法结构:
axios.post('请求地址', {// 要提交给后端的参数(请求体),注意这里和get请求的params不一样参数名1: 值1,参数名2: 值2
}, {headers: { // 请求头(可选,比如传token、CSRF令牌)'X-CSRFToken': ,'Content-Type': 'application/json' // 默认就是这个,新手可以先不写}
})
.then(function(response) {console.log('提交成功:', response.data);
})
.catch(function(error) {console.log('提交失败:', error);
});示例:
// 提交登录信息(用户名+密码)给后端
axios.post('https://api.example.com/login', {username: '小白123',password: '123456'
})
.then(function(res) {if (res.data.status === 'success') {alert('登录成功!');console.log('用户token:', res.data.token); // 后端返回的登录凭证} else {alert('登录失败:' + res.data.message);}
})
.catch(function(err) {alert('网络错误,登录失败:' + err.message);
});3. Axios 返回的 response 是什么?
不管 GET/POST,.then() 里的 response 是 Axios 封装的响应对象,核心属性:
axios.get('https://api.example.com/user').then(function(response) {console.log(response); // 打印完整响应对象// 常用的属性:response.data; // 后端返回的实际数据(最核心!)response.status; // HTTP状态码(200=成功,404=找不到,500=后端出错)response.headers; // 响应头(后端返回的额外信息)});四、高级功能
1. 请求拦截器(请求发送前做统一处理)
2. 响应拦截器(响应返回后做统一处理)
3. 批量请求(同时发多个请求,等所有请求完成)
http://www.rkmt.cn/news/82911.html

相关文章:

  • 在AWS上部署CANoe--打造企业级ECU云端流水线
  • 2025年实木复合板材锯片生产厂家权威推荐榜单:柚木锯片/切实木复合板材/切柚木源头厂家精选 - 品牌推荐官
  • js 之 promise
  • 2025年水性色浆厂家推荐:环保安全导向下的优质之选 - 深度智识库
  • 2025年水性色浆采购指南:精准选对厂家,把握绿色商机 - 深度智识库
  • 2025年十大口碑好的政府机关食堂承包品牌企业推荐,售后完善 - 工业品牌热点
  • 2025年浙江千川代运营服务权威推荐榜单:浙江直播带货方案/浙江企业号代运营推广/浙江代运营广告投放服务商精选 - 品牌推荐官
  • 2025年末采购指南:如何挑选性能卓越的油性色浆厂家? - 深度智识库
  • SI2300-ASEMI便携式电子专用SI2300
  • Spectrum 推出全新多通道任意波形发生器,支持GHz级信号生成
  • 辽宁沈阳出海企业借力外贸GEO优化,破解AI时代获客新密码 - 博客万
  • 2025年数控模具培训机构满意度排名:数控模具研究所孟庆功满 - mypinpai
  • 沈阳出海企业破局新航道:外贸GEO优化成智能时代“必答题” - 博客万
  • 2025年五大环保型品牌制造商排行榜,新测评精选推荐 - mypinpai
  • 2025年终色膏厂家推荐:色浆/油性色膏/水性色浆/颜料浆优选品牌 - 深度智识库
  • 2025年电动双开门结构静音房厂家推荐,专业静音室、静音房企 - 工业推荐榜
  • 2025年浙江新时沏茶饮创业服务权威榜单:新时沏奶茶加盟服务/新时沏奶茶创业服务/新时沏中式茶饮加盟综合推荐 - 品牌推荐官
  • 2025年北京天津防盗门售后公司排名,群升防盗门售后推荐全解 - myqiye
  • 二分环 / 浏览器 /更新 图标的画法
  • tmux 使用方法
  • 2025年选购指南:综合实力最强的检测仪公司排行,高强回弹仪检定器/红外分光光度计/微型十字板仪/数显砂浆回弹仪/钢砧检测仪销售厂家推荐排行 - 品牌推荐师
  • 2025年口碑好的抗污染反渗透膜热门厂家推荐榜单 - 行业平台推荐
  • 国产数据库迁移选型指南:金仓如何在兼容性与性能上实现突破?
  • 离心风机公司排行榜top1!离心风机哪个品牌好? - 博客万
  • 【C/C++】高斯列主元消元法求解线性方程组
  • 2025国民防盗门品牌TOP5权威推荐:群升防盗门,安全守护 - myqiye
  • 2025年激光板材切割机优质厂家权威推荐榜单:激光焊接机/复合型切割机/重型激光切割机实力厂家精选 - 品牌推荐官
  • 2025 最新名表维修保养公司/门店TOP5 评测!专业技术 + 全链条服务权威榜单发布,匠心守护高端腕表价值 - 全局中转站
  • 中国对外经济贸易信托有限公司:数字化转型助力全球客户服务贸易新格局 - 博客万
  • 2025年南非名义雇主EOR推荐:Safeguard Global人力资源公司优势分析 - 品牌2025