# Ajax
- 基于 XMLHttpRequest 基于 回调函数管理方式,不利于管理,异步操作繁琐。容易产生回调地狱
# Axios
Axios 是一个基于 Promise 的 HTTP 客户端,拥有以下特性:
- 基于 XMLHttpRequest
- 支持 Promise 封装管理,方便异步操作,可以链式管理
- 能够拦截请求和响应;
- 能够转换请求和响应数据;
- 客户端支持防御 CSRF 攻击;
- 同时支持浏览器和 Node.js 环境;
- 能够取消请求及自动转换 JSON 数据。
- 在浏览器端 Axios 支持大多数主流的浏览器,比如 Chrome、Firefox、Safari 和 IE 11
# Fetch
Es6 里面直接带的(不兼容 ie 浏览器)本身就是基于 Promise 封装,和 XMLHttpRequest 没有任何关系,是浏览器新提供的一种前后端数据通信方案
不兼容 IE 浏览器,常用于内部管理系统
# Umi-Request
# React-Query
# SWR
深入SWR 设计与源码分析 (opens new window)
# ky(基于Fetch封装)
# 总结
Ajax、Axios、Fetch三者区别:
Ajax 和 Axios 都基于 XMLHttpRequest 的封装,Fetch 直接用(Es6,不兼容 IE)和 XMLHttpRequest 没有任何关系
← DNS/CDN/QUIC 先导篇 →