ajax
- 定义:AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。本质是对XMLHttpRequest对象的封装。
- 缺点:多个请求之间有先后关系,出现回调地狱
axios
- 定义:axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端。本质上是基于Promise对原生XMLHttpRequest的封装
- 特点:
- 从浏览器中创建 XMLHttpRequests
- 从 node.js 创建 http 请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动转换 JSON 数据
- 客户端支持防御 XSRF
fetch
- 定义:用于在 JavaScript 脚本里面发出 HTTP 请求,基于promise设计。fetch是原生js,没有使用XMLHttpRequest对象。浏览器原生提供fetch()这个对象
- 优点:
- 更加底层,可按需灵活封装
- 基于标准 Promise 实现,支持 async/await
- 缺点:太过底层,需要自己封装