当前位置: 首页 > news >正文

8.axios Http网络请求库(1)

一句话总结

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js,帮助你轻松发送请求、接收响应。

Axios is a Promise-based HTTP client for the browser and Node.js, making it easy to send requests and handle responses.

📌 Axios 是什么?(What is Axios)

Axios 是一个 轻量级的 HTTP 请求库,支持浏览器和 Node.js 环境。它封装了 XMLHttpRequest(浏览器)和 http 模块(Node.js),让我们用更简单、统一的方式进行网络通信。

✨ 有什么特性?(Features of Axios)
• 支持 Promise API(可用 async/await)
• 自动转换 JSON 数据
• 拦截请求和响应(request/response interceptors)
• 支持请求取消(cancellation)
• 客户端防止 CSRF 攻击(自动设置 XSRF token)
• 可以设置请求超时、响应数据格式等
• 支持上传、下载进度监听

❓ 为什么需要 Axios?(Why use Axios)
• 原生 fetch 写法繁琐、对旧浏览器支持不好
• XMLHttpRequest 太底层,回调多,难维护
• Axios 提供统一接口、丰富功能,更适合现代开发

✅ Axios 的优点(Advantages of Axios)
• 使用简单,语法清晰
• 默认支持 JSON 数据的处理
• 跨平台支持(浏览器和 Node.js)
• 可配置性强,适合项目中进行统一封装
• 社区活跃,文档完善

🔧 可以做什么?(What can you do with Axios)
• 发送 GET / POST / PUT / DELETE 等 HTTP 请求
• 向后端接口提交表单、JSON、文件等数据
• 调用 REST API 接口并处理返回结果
• 构建基于服务端数据的前端应用(如 Vue / React 项目)

🛠️ 怎么使用?(How to use Axios)

  1. 安装(Install)

npm install axios

yarn add axios

  1. 基本用法(Basic Usage)

import axios from ‘axios’;

axios.get(‘https://api.example.com/data’)
.then(response => {
console.log(response.data); // 处理返回数据
})
.catch(error => {
console.error(error); // 处理错误
});

  1. 使用 async/await

async function fetchData() {
try {
const res = await axios.get(‘https://api.example.com/data’);
console.log(res.data);
} catch (err) {
console.error(err);
}
}

  1. 配置请求参数

axios.post(’/api/login’, {
username: ‘test’,
password: ‘123456’
}, {
headers: {
‘Content-Type’: ‘application/json’
},
timeout: 5000
});

  1. 拦截器使用(Interceptors)

axios.interceptors.request.use(config => {
config.headers.Authorization = ‘Bearer your_token’;
return config;
});

axios.interceptors.response.use(
response => response,
error => Promise.reject(error)
);

http://www.xdnf.cn/news/884665.html

相关文章:

  • 洛谷题目:P2761 软件补丁问题 (本题简单)
  • Unity基础-Mathf相关
  • NoSQL 之 Redis 配置与优化
  • 护网面试题目2025
  • Windows下安装MySQL8.X
  • 渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
  • RK3588 RTL8211F PHY的LED灯调试
  • 能做超厚铜pcb工厂有哪些?
  • MLP实战二:MLP 实现图像数字多分类
  • 大中型水闸安全监测管理系统建设方案
  • Authpf(OpenBSD)认证防火墙到ssh连接到SSH端口转发技术栈 与渗透网络安全的关联 (RED Team Technique )
  • 机器学习的数学基础:决策树
  • 今日学习:ES8语法 | Spring整合ES | ES场景八股
  • Python html 库用法详解
  • Selenium 和playwright 使用场景优缺点对比
  • 使用Python提取照片元数据:方法与实战指南
  • 【定昌linux开发板】关闭ssh 端口 22
  • Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解
  • 短视频矩阵系统技术saas源头6年开发构架
  • 深入理解JavaScript设计模式之闭包与高阶函数
  • 【JVM】三色标记法原理
  • VisDrone无人机视觉挑战赛观察解析2025.6.5
  • 无人机避障与视觉跟踪技术分析!
  • 装备制造项目管理具备什么特征?如何选择适配的项目管理软件系统进行项目管控?
  • Spring Boot + Elasticsearch + HBase 构建海量数据搜索系统
  • 【数据分析】基于adonis2与pairwise.adonis2的群组差异分析教程
  • vue-router路由问题:可以通过$router.push()跳转,但刷新后又变成空白页面
  • Uniapp 二维码生成与解析完整教程
  • Spring IoC 详解:原理、实现与实战
  • 【Go语言基础【3】】变量、常量、值类型与引用类型