axios 使用
约 375 字大约 1 分钟
2025-01-22
Axios 是一个基于 Promise 的 HTTP 客户端,适用于 node.js 和浏览器。它是同构的( 它可以在具有相同代码库的浏览器和 nodejs 中运行)。在服务器端,它使用本机 node.js http 模块,而在客户端(浏览器)上使用 XMLHttpRequest。
特性
- 从浏览器创建 XMLHttpRequests
- 从 node.js 创建 http 请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求和响应数据
- 取消请求
- 超时处理
- 查询参数序列化支持嵌套项处理
- 自动将请求体序列化为:
- JSON (application/json)
- Multipart / FormData (multipart/form-data)
- URL encoded form (application/x-www-form-urlencoded)
- 将 HTML Form 转换成 JSON 进行请求
- 自动转换JSON数据
- 获取浏览器和 node.js 的请求进度,并提供额外的信息(速度、剩余时间)
- 为 node.js 设置带宽限制
- 兼容符合规范的 FormData 和 Blob(包括 node.js)
- 客户端支持防御 XSRF
从官方文档中列出的特性可知,axios 是一个非常强大的 HTTP 客户端,适用于各种场景。
安装
$ pnpm install -D axios
使用
axios 支持 Promise API 使用上比 XMLHttpRequest
方便很多。
import axios from 'axios';
const url = '***'
axios.get(url)
.then(function (response) {
// 处理成功情况
console.log(response);
})
.catch(function (error) {
// 处理错误情况
console.log(error);
})
.then(function () {
// 执行完成
});