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

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.lryc.cn/news/2403320.html

相关文章:

  • Python爬虫实战:研究mechanize库相关技术
  • c++算法学习5——贪心算法
  • SpringCloud学习笔记-3
  • 【时时三省】(C语言基础)局部变量和全局变量
  • An improved YOLACT algorithm for instance segmentation of stacking parts
  • 使用API网关Kong配置反向代理和负载均衡
  • BugKu Web渗透之eval
  • DAY45 可视化
  • 11.RV1126-ROCKX项目 API和人脸检测画框
  • 超构光学与 AR 的深度融合 | 攻克 VAC 与眼动范围难题
  • [ Qt ] | 与系统相关的操作(三):QFile介绍和使用
  • RetroMAE 预训练任务
  • 软件工程:如何做好软件产品
  • 蓝桥杯 省赛 2025python(B组)题目(分析)
  • React - 组件通信
  • 《前端面试题:CSS的display属性》
  • 飞牛使用Docker部署Tailscale 内网穿透教程
  • 《数据挖掘》- 房价数据分析
  • centos中的ulimit命令
  • git提交代码和解决冲突修复bug
  • 华为仓颉语言初识:并发编程之同步机制(上)
  • php中实现邮件发送功能
  • C++之动态数组vector
  • arc3.2语言sort的时候报错:(sort < `(2 9 3 7 5 1)) 需要写成这种:(sort > (pair (list 3 2)))
  • Android动态广播注册收发原理
  • Ubuntu 系统通过防火墙管控 Docker 容器
  • AI 模型分类全解:特性与选择指南
  • 【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载
  • 【Android】Android Studio项目代码异常错乱问题处理(2020.3版本)
  • n皇后问题的 C++ 回溯算法教学攻略