Axios入门使用

devtools/2024/10/4 7:20:41/

文章目录

  • 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 全攻略

http://www.ppmy.cn/devtools/120548.html

相关文章

JVM(HotSpot):堆空间(Heap)以及常用相关工具介绍

文章目录 一、内存结构图二、堆的定义三、堆内存溢出四、堆内存排查工具 一、内存结构图 二、堆的定义 1、通过new关键字创建的对象&#xff0c;都会放到堆空间中。 2、它是线程共享的&#xff0c;堆中的对象都要考虑线程安全问题。 那有同学肯定会问&#xff0c;方法内通过n…

【力扣 | SQL题 | 每日三题】力扣1148, 1327, 1211, 1174

1. 力扣1148&#xff1a;文章浏览1 1.1 题目&#xff1a; Views 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | article_id | int | | author_id | int | | viewer_id | int | | view_date …

利用 Page Visibility API 优化网页性能与用户体验

在现代 Web 开发中&#xff0c;用户可能会频繁切换标签页&#xff0c;或让网页处于后台运行。为了避免不必要的资源浪费并提升用户体验&#xff0c;合理利用 Page Visibility API 可以在页面不可见时暂停或减少资源的消耗&#xff0c;并在页面重新可见时恢复正常操作。 在这篇…

将给定的表达式树(二叉树)转换为等价的中缀表达式(通过括号反映操作符的计算次序)并输出

请设计一个算法&#xff0c;将给定的表达式树&#xff08;二叉树&#xff09;转换为等价的中缀表达式&#xff08;通过括号反映操作符的计算次序&#xff09;并输出。例如&#xff0c;当下列两棵表达式树作为算法输入时&#xff1a; 输出的中缀表达式分别为 (ab)∗(c∗(−d)) 和…

C# winform s7.net 类读取 报错:数组不是一维数组。

System.ArgumentException HResult0x80070057 Message数组不是一维数组。 Sourcemscorlib StackTrace: at System.Array.SetValue(Object value, Int32 index) at S7.Net.Types.Class.FromBytes(Object sourceClass, Byte[] bytes, Double numBytes, Boolean isI…

使用VBA快速将文本转换为Word表格

Word提供了一个强调的文本转表格的功能&#xff0c;结合VBA可以实现文本快速转换表格。 示例文档如下所示。 现在需要将上述文档内容转换为如下格式的表格&#xff0c;表格内容的起始标志为。 示例代码如下。 Sub SearchTab()Application.DefaultTableSeparator "*&quo…

介绍篇| 爬虫工具介绍

什么是网络爬虫 网络爬虫工具本质上是自动化从网站提取数据的软硬件或服务。它简化了网络爬虫,使信息收集变得更加容易。如今是数据和智能化时代, 如何快速、自动化获取数据, 成了个人或者企业进入智能化时代的第一步. 选择最佳网络爬虫工具时的关键因素 在选择最佳网络爬虫…

前端安装 lerna

当你在终端中遇到 lerna: command not found 错误时&#xff0c;意味着你的系统没有找到 lerna 命令。这通常是因为 lerna 没有被正确安装或者其可执行文件的路径没有被添加到系统的 PATH 环境变量中。以下是解决这个问题的步骤&#xff1a; 1. 确认 Lerna 是否已安装 首先&a…