当前位置: 首页 > 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.jsqmd.com/news/72395/

相关文章:

  • 在AWS上部署CANoe--打造企业级ECU云端流水线
  • 2025年实木复合板材锯片生产厂家权威推荐榜单:柚木锯片/切实木复合板材/切柚木源头厂家精选 - 品牌推荐官
  • js 之 promise
  • 联考随记
  • 2025年水性色浆厂家推荐:环保安全导向下的优质之选 - 深度智识库
  • 2025血蛋白实力派榜单:佰倍优35%高浓款,凭硬核实力领跑 - 速递信息
  • 2025年水性色浆采购指南:精准选对厂家,把握绿色商机 - 深度智识库
  • 2025年水性色浆采购指南:精准选对厂家,把握绿色商机 - 深度智识库
  • 氧气检测仪哪个品牌好?国内氨气检测仪哪家好?国产便携式多合一气体检测仪哪家强?磷化氢检测仪推荐厂家 - 品牌推荐大师1
  • 2025年实力强的自动喷砂机厂家排名:自动喷砂机定制厂家哪家 - myqiye
  • 2025年十大口碑好的政府机关食堂承包品牌企业推荐,售后完善 - 工业品牌热点
  • 2025年北京口碑好的政府机关食堂承包品牌企业排名:政府机关 - 工业推荐榜
  • 2025年浙江千川代运营服务权威推荐榜单:浙江直播带货方案/浙江企业号代运营推广/浙江代运营广告投放服务商精选 - 品牌推荐官
  • 2025年末采购指南:如何挑选性能卓越的油性色浆厂家? - 深度智识库
  • 2025年五大锂电池专用氧化镁、二氧化钛溶胶、纳米氧化铝溶胶 - myqiye
  • 2025年五大环保型品牌制造商排行榜,新测评精选推荐 - mypinpai
  • 树上拓扑序计数(P4099)
  • Spectrum 推出全新多通道任意波形发生器,支持GHz级信号生成
  • 2025 最新高端腕表养护公司 /门店 TOP5 评测!专业全链条服务 + 技术实力品牌榜单发布,守护您的珍贵时计 - 全局中转站
  • 辽宁沈阳出海企业借力外贸GEO优化,破解AI时代获客新密码 - 博客万
  • js正则 股票代码 - jerry
  • 突发负面发酵太快?舆情处理公司排行榜快速锁定支援力量 - 速递信息
  • 【转载】pros and cons是什么的缩写 - ENGINEER
  • 2025年数控模具培训机构满意度排名:数控模具研究所孟庆功满 - mypinpai
  • 2025年纳米材料生产厂家TOP5权威推荐:看哪家技术实力强 - myqiye
  • 沈阳出海企业破局新航道:外贸GEO优化成智能时代“必答题” - 博客万
  • Google Chrome 浏览器详细安装教程:从下载到使用一步到位
  • 2025年中国流水线测试静音房推荐:静音室静音房流水线静音房 - 工业品牌热点
  • 实验2 熟悉常用的HDFS操作
  • 2025年中国十大工业隔音设备定制公司推荐:天然气压缩机隔音 - 工业推荐榜