Axios入门使用
文章目录
- Axios入门使用
- 一、引言
- 二、Axios的安装与配置
- 1、安装Axios
- 2、创建Axios实例
- 三、发送HTTP请求
- 1、GET请求
- 2、POST请求
- 3、并发请求
- 四、配置和拦截器
- 1、配置默认值
- 2、拦截器
- 五、错误处理和取消请求
- 1、错误处理
- 2、取消请求
- 四、总结
Axios入门使用
一、引言
随着前端技术的发展,前后端分离已成为标准开发模式。Axios作为一种基于Promise的HTTP客户端,被广泛应用于浏览器和node.js中,用于执行HTTP请求。本篇博客将详细介绍Axios的基本使用。
二、Axios的安装与配置
1、安装Axios
首先,需要安装Axios库。可以通过npm或yarn进行安装:
npm install axios
或者
yarn add axios
也可以通过CDN直接引入到HTML文件中:
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
2、创建Axios实例
Axios可以创建实例,以便于根据不同的环境进行配置:
const instance = axios.create({baseURL: 'https://api.example.com',timeout: 1000,headers: {'X-Custom-Header': 'foobar'}
});
三、发送HTTP请求
1、GET请求
使用Axios发送GET请求非常简单,如下所示:
axios.get('/user?ID=12345').then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});
也可以通过params对象传递查询参数:
axios.get('/user', {params: {ID: 12345}}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});
2、POST请求
发送POST请求,可以使用以下代码:
axios.post('/user', {firstName: 'Fred',lastName: 'Flintstone'}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});
3、并发请求
Axios支持并发请求,可以同时发送多个请求并统一处理:
function getUserAccount() {return axios.get('/user/12345');
}
function getUserPermissions() {return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()]).then(axios.spread(function (acct, perms) {//两个请求现已完成console.log(acct, perms);}));
四、配置和拦截器
1、配置默认值
可以为Axios设置默认值,例如:
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
2、拦截器
Axios支持添加请求和响应拦截器:
// 添加请求拦截器
axios.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;
}, function (error) {// 对请求错误做些什么return Promise.reject(error);
});// 添加响应拦截器
axios.interceptors.response.use(function (response) {// 对响应数据做点什么return response;
}, function (error) {// 对响应错误做点什么return Promise.reject(error);
});
五、错误处理和取消请求
1、错误处理
Axios可以通过catch方法来处理错误:
axios.get('/user/12345').catch(function (error) {if (error.response) {// 请求已发出,但是服务器响应的状态码不在2xx范围内console.log(error.response.data);console.log(error.response.status);} else {// 一些在设置请求时触发的错误console.log('Error', error.message);}console.log(error.config);});
2、取消请求
Axios支持取消请求:
const CancelToken = axios.CancelToken;
let cancel;axios.get('/user/12345', {cancelToken: new CancelToken(function executor(c) {// executor函数接收一个cancel函数作为参数cancel = c;})
});// 取消请求
cancel('Operation canceled by the user.');
四、总结
Axios是一个强大而灵活的HTTP客户端,适用于浏览器和node.js环境。通过简单的配置和使用,可以快速地进行HTTP请求,并支持Promise API,使得异步请求处理更加方便。掌握Axios的使用,可以显著提升开发效率。
版权声明:本博客内容为原创,转载请保留原文链接及作者信息。
参考文章:
- Axios使用方法详解,从入门到进阶-CSDN博客
- axios 全攻略
相关文章:
Axios入门使用
文章目录 Axios入门使用一、引言二、Axios的安装与配置1、安装Axios2、创建Axios实例 三、发送HTTP请求1、GET请求2、POST请求3、并发请求 四、配置和拦截器1、配置默认值2、拦截器 五、错误处理和取消请求1、错误处理2、取消请求 四、总结 Axios入门使用 一、引言 随着前端技…...
大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓
文章目录 基于Flink+Hologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业O…...
关于HTML 案例_个人简历展示02
展示效果 用table进行布局label 标签进行关联 例如:点姓名就可以到text中去填写内容 input的使用 text 文本框radio 单选框select与option 选择框checkbox 复选框 textareaul与li 无序列表文中图片是本地的 链接: 图片下载地址 代码 <!DOCTYPE html> <…...
Windows 11 24H2 v26100.1742 官方简体中文版
Windows 11 24H2是微软最新推出的操作系统更新,其在人工智能(AI)领域的创新为用户带来了显著的体验提升。该版本的一大亮点是AI Copilot,它能够智能地根据剪贴板内容调整操作上下文菜单,实现更智能化的交互。 此外&…...
【AIGC半月报】AIGC大模型启元:2024.10(上)
【AIGC半月报】AIGC大模型启元:2024.10(上) (1) YOLO11(Ultralytics新作) (1) YOLO11(Ultralytics新作) 2024.10.01 Ultralytics在 YOLO Vision 2024 活动上宣布发布其新的计算机视觉模型 YOLO…...
Codeforces Beta Round 14 (Div. 2) E. Camels (DP)
题目 Bob likes to draw camels: with a single hump, two humps, three humps, etc. He draws a camel by connecting points on a coordinate plane. Now he’s drawing camels with t humps, representing them as polylines in the plane. Each polyline consists of n ve…...
CSID-GAN:基于生成对抗网络的定制风格室内平面设计框架论文阅读
CSID-GAN: A Customized Style Interior Floor Plan Design Framework Based on Generative Adversarial Network 摘要前言II. CSID-GAN METHODA. Overall FrameworkB. Algorithm and Loss Function III. DATASETS AND EVALUATION METRICSA. DatasetsB. Evaluation Metrics IV.…...
02SQLite
文章目录 索引创建索引删除索引索引优点及缺点?避免使用索引 视图创建视图删除视图 事务事务控制命令通过事务方式对数据库进行访问优势: 索引 创建索引 索引(Index)是一种特殊查找表,数据库搜索引擎用来加速数据检索…...
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
在线学籍管理平台系统 目录 基于SpringbootVUE的在线学籍管理平台系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…...
JDBC编程
前言: 你是否见过用Java连接数据库的操作,对没错,今天我们要讲的就是这个“高级”操作,做好准备全程高速。 API: 什么是API?我喜欢先把它的全称说一下:Application Programming Interface。简…...
Python : 类变量、静态方法、类方法
文章目录 前言1 类变量(Java静态变量)2 Python中的静态方法(使用 @staticmethod 装饰器声明)3 类方法(使用 @classmethod 装饰器声明)4 静态方法和类方法的区别前言 学完Java过后,对python中有了一些疑惑。Java中有static修饰的静态变量和静态方法这两个很用用的知识点…...
大厂笔试现已经禁用本地IDE怎么看
如果我说本来面试做题这种事情就是反人类你相信吗? 这个罪恶的源头就是 Google,说是为了选择高素质的计算机编程水平的人才,然后把面试就变成了考试,最大的受益者当然是印度人了。 当把一个考察过程变成标准化的考试过程&#x…...
【PostgreSQL】入门篇——如何创建、删除和管理数据库及其用户,包括权限设置和角色管理
PostgreSQL 数据库及用户管理 1. 创建数据库 1.1 使用 SQL 命令创建数据库 在 PostgreSQL 中,可以使用 CREATE DATABASE 命令来创建数据库。以下是基本语法: CREATE DATABASE database_name;示例: CREATE DATABASE my_database;1.2 使用…...
网络安全:保护数字时代的堡垒
网络安全:保护数字时代的堡垒 引言: 在数字化时代,网络安全的重要性日益凸显。它不仅关系到个人隐私保护,还涉及国家安全和经济发展。随着技术的发展,网络安全的威胁也在不断进化,从个人设备到企业网络&am…...
【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片str)
【rCore OS 开源操作系统】Rust 语法详解: Strings 前言 这次涉及到的题目相对来说比较有深度,涉及到 Rust 新手们容易困惑的点。 这一次在直接开始做题之前,先来学习下字符串相关的知识。 Rust 的字符串 Rust中“字符串”这个概念涉及多种类型&…...
远程过程调用RPC知识科普
文章目录 什么是RPCRPC的基本原理RPC的应用场景RPC的优势常见的RPC框架 常见的RPC协议1. gRPC2. Apache Thrift3. Dubbo4. JSON-RPC5. XML-RPC6. SOAP springboot环境下常用的RPC框架使用1. Apache Dubbo2. Apache Thrift3. gRPC4. Spring Cloud OpenFeign 什么是RPC RPC&…...
Java - LeetCode面试经典150题 - 区间 (三)
区间 228. 汇总区间 题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中…...
NVIDIA网卡系列之ConnectX-6 DX规格信息(200G-PCIe 4.0x16-8PF1000VF-2019年发布)
背景 NVIDIA ConnectX-6是最大支持200G的产品,有DX LX等系列。LX一般是25G比较便宜。 核心关键点 200GbpsPCIe 4.0,最大lane: x16 (4.0的lane速 16GT/s * 16 256T/s,所以支持的是200G的网卡用PCIe4.0)QSFPPF,VF数量࿱…...
【案例】平面云
教程案例视频:Unity Shader Graph - 云教程 开发平台:Unity 2022 开发工具:Unity ShaderGraph 一、效果展示 二、ShaderGraph 路线图 三、案例分析 核心思路:使用 Noise(噪声)模拟云层状态 3.1 说明…...
测试用例的进阶二
1. 按开发阶段划分 1.1 测试金字塔 从上到下,对于测试人员代码就是要求越来越低; 从下到上,越来越靠近用户; 从下到上,定位问题的成本越来越高; 1.2 单元测试(Unit Testing) 单元测试是对软件组成单元进…...
在华为欧拉openEuler 22.03 SP2上搞定Oracle 11g R2:一个踩坑无数的可视化安装实录
在华为欧拉openEuler 22.03 SP2上搞定Oracle 11g R2:一个踩坑无数的可视化安装实录 当国产操作系统遇上传统商业数据库,这场跨越技术栈的"联姻"注定充满挑战。作为在openEuler 22.03 SP2上成功部署Oracle 11g R2的实践者,我将以时间…...
为什么我劝你放弃FLANN 1.9.2?聊聊源码编译那些坑与1.9.1版的真香选择
为什么FLANN 1.9.1才是开发者更明智的选择:深度解析编译陷阱与版本决策 在开源库的世界里,"最新版本"往往被默认为"最佳选择",但FLANN 1.9.2却打破了这个常规认知。作为一名经历过无数次深夜调试的开发者,我必…...
ComfyUI v0.21.1:最新版本发布,模型、节点、工作流与稳定性全面升级
ComfyUI v0.21.1 已于 2026年5月14日发布。本次版本说明中明确标注为 Immutable release,也就是说,发布后只能修改 release title 和 notes。这意味着这次更新内容具有较强的定版性质,适合直接作为版本升级参考。 如果用一句话概括这次更新&a…...
别再手动调相机了!用CinemachineFreeLook快速搞定Unity第三人称视角(附完整配置流程)
告别繁琐调试:用CinemachineFreeLook打造专业级Unity第三人称视角 在游戏开发中,第三人称视角的实现往往让开发者头疼不已。传统的手动摄像机控制不仅需要编写大量代码来处理跟随、旋转和碰撞检测,还容易产生抖动、穿模等恼人的问题。而Unity…...
企业级AI应用在虚拟机集群的部署,如何借助Taotoken统一API网关
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业级AI应用在虚拟机集群的部署,如何借助Taotoken统一API网关 在构建企业内部的AI应用时,一个常见的架构是…...
RT-Thread Smart用户态开发:基于xmake的嵌入式高性能应用构建实践
1. 项目概述与核心价值最近在嵌入式圈子里,和几位做工业网关和智能设备的朋友聊天,大家普遍有个痛点:项目从单片机往更高性能的处理器(比如Cortex-A系列)迁移时,开发体验有点“开倒车”。在资源受限的单片机…...
RWKV vs. LLaMA2:在论文审稿任务上,我为什么第一版选了它(以及为什么后来放弃了)
RWKV与LLaMA2在论文审稿任务中的技术选型反思 当面对一个需要处理长文档的AI审稿系统时,模型选型往往成为决定项目成败的关键因素。2023年第三季度,我们在构建论文审稿GPT第一版时,做出了一个在当时看来合理但事后证明值得商榷的决策——选择…...
PHP Font Lib 与其他字体库对比:为什么它是 PHP 开发者的首选
PHP Font Lib 与其他字体库对比:为什么它是 PHP 开发者的首选 【免费下载链接】php-font-lib A library to read, parse, export and make subsets of different types of font files. 项目地址: https://gitcode.com/gh_mirrors/ph/php-font-lib 在PHP开发领…...
VS Code 轻量自动化实战:Trae 集成 3 步配置与 5 个高频任务模板
1. 三步集成不是魔法,是可控的上下文锚点 大多数人第一次在 VS Code 里配 Trae,会直接打开官方文档翻到「安装」章节,复制粘贴几行命令,重启编辑器,然后对着空白的侧边栏发呆——它没反应。不是插件没装好,也不是网络问题。是我试过三次才意识到:Trae 的「激活」不靠重…...
SNMP Exporter实战指南:构建企业级网络监控架构的深度解析
SNMP Exporter实战指南:构建企业级网络监控架构的深度解析 【免费下载链接】snmp_exporter SNMP Exporter for Prometheus 项目地址: https://gitcode.com/gh_mirrors/sn/snmp_exporter SNMP Exporter作为Prometheus生态中的关键组件,专为网络设备…...
