Axios 是一个基于 Promise 的现代化 HTTP 客户端,用于浏览器和 Node.js。它提供了一种简单、直观的方式来发送异步 HTTP 请求,并处理响应数据。由于其简洁的 API 和强大的功能(如拦截请求和响应、自动转换 JSON 数据等),Axios 在前端开发中非常受欢迎。
Axios API(核心方法)
Axios API 是 Axios 库提供的核心方法集合,用于发送 HTTP 请求并处理响应。主要包括以下功能:
HTTP方法
axios.get(url, config):发送 GET 请求,常用于获取数据。axios.post(url, data, config):发送 POST 请求,常用于提交数据。axios.put(url, data, config):发送 PUT 请求,用于更新资源。axios.delete(url, config):发送 DELETE 请求,常用于删除资源。axios.patch(url, data, config):发送 PATCH 请求,部分更新资源。axios.head(url, config):发送 HEAD 请求,常用于获取响应头。axios.options(url, config):发送 OPTIONS 请求,常用于检查资源支持的 HTTP 方法。
请求配置
请求配置是发送请求时的参数对象,用于定制请求行为,常见配置项包括:
- url:请求的目标地址。
- method:HTTP 方法(如 GET、POST)。
- headers:自定义请求头,如认证信息(Authorization)。
- params:URL 查询参数,通常用于 GET 请求。
- data:请求体数据,通常用于 POST、PUT 等请求。
- timeout:请求的超时时间,单位毫秒。
- cancelToken:取消请求的令牌。
Promise支持
所有 Axios 方法返回一个 Promise,可以通过 .then() 和 .catch() 来处理请求成功或失败的结果。
示例:
axios.get('/api/data')
.then(response => console.log(response.data))
.catch(error => console.log(error));
请求取消
使用 CancelToken 可以取消进行中的请求,避免不必要的请求浪费。
示例:
const cancelTokenSource = axios.CancelToken.source();
axios.get('/api/data', { cancelToken: cancelTokenSource.token })
.catch(error => {
if (axios.isCancel(error)) {
console.log('Request canceled');
} else {
console.log('Request failed');
}
});
// 取消请求
cancelTokenSource.cancel('Operation canceled by user');