Axios for JavaScript (Node.js): 完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Axios 以及为什么需要它?



Axios 是一个强大且流行的 JavaScript 库,用于执行 HTTP 请求。它既可以在浏览器中运行,也可以在 Node.js 环境中运行,并提供一个基于 Promise 的统一、便捷的 API。如果您需要向 API 发送 GET 请求、通过 POST 将数据上传到服务器,或者处理 JSON 格式的响应,Axios 都能优雅且高效地完成。



为什么使用 Axios 而不是内置的 fetch 或 XMLHttpRequest?

  • 自动处理 JSON: Axios 会自动将响应转换为 JSON,省去了调用 response.json() 的麻烦。
  • 拦截器 (Interceptors): 您可以轻松地为所有请求(例如,授权令牌)或响应(例如,错误处理)添加全局逻辑。
  • 请求取消: 通过 AbortController 内置支持请求取消。
  • CSRF 保护: 自动处理 XSRF 令牌以增强安全性。
  • 上传进度: 能够跟踪数据发送和接收的进度。
  • 便捷的错误处理: 提供更具信息性的错误消息,并能轻松区分响应状态。
  • 支持旧版浏览器: 与 fetch 不同,Axios 可在 Internet Explorer 11 及其他过时浏览器中运行。


安装



在 Node.js 项目或前端项目(通过 npm/yarn/pnpm)中安装 Axios 只需一条命令:



# 通过 npm 安装(推荐)npm install axios

# 通过 yarn 安装yarn add axios

# 通过 pnpm 安装pnpm add axios


要在浏览器中使用,您也可以通过 CDN 引入 Axios:



<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>


快速开始



安装后,您可以立即开始发送请求。以下是一个向公共 API 发送 GET 请求的简单示例:



// 导入库(适用于 Node.js 或模块化项目)import axios from 'axios';

// 向 JSONPlaceholder API 发送 GET 请求axios.get('https://jsonplaceholder.typicode.com/posts/1') .then(response => { console.log('响应状态:', response.status); console.log('数据:', response.data); }) .catch(error => { console.error('请求错误:', error.message); });


这段代码将发送一个 GET 请求,接收响应,并输出其状态和主体(该主体已自动从 JSON 解析为 JavaScript 对象)。



主要方法和函数



Axios 为所有主要的 HTTP 方法提供了便捷的包装方法。每个方法都返回一个 Promise。



1. axios.get(url, config?)

功能: 执行 HTTP GET 请求以从服务器获取数据。

参数:

  • url (string) — 请求的 URL 地址。
  • config (object, 可选) — Axios 配置对象(例如,headers、用于查询字符串的 params、timeout)。

示例:

// 带查询参数的请求axios.get('https://api.example.com/users', {  params: {    page: 2,    limit: 10  },  headers: {    'Authorization': 'Bearer my-token'  }}).then(response => {  console.log(response.data);});


2. axios.post(url, data?, config?)

功能: 执行 HTTP POST 请求以向服务器发送数据(通常用于创建新资源)。

<

推荐