ajax,axios,fetch区别

220 阅读1分钟

ajax

  • 定义:AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。本质是对XMLHttpRequest对象的封装。
  • 缺点:多个请求之间有先后关系,出现回调地狱

axios

  • 定义:axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端。本质上是基于Promise对原生XMLHttpRequest的封装
  • 特点
  1. 从浏览器中创建 XMLHttpRequests
  2. 从 node.js 创建 http 请求
  3. 支持 Promise API
  4. 拦截请求和响应
  5. 转换请求数据和响应数据
  6. 取消请求
  7. 自动转换 JSON 数据
  8. 客户端支持防御 XSRF

fetch

  • 定义:用于在 JavaScript 脚本里面发出 HTTP 请求,基于promise设计。fetch是原生js,没有使用XMLHttpRequest对象。浏览器原生提供fetch()这个对象
  • 优点
  1. 更加底层,可按需灵活封装
  2. 基于标准 Promise 实现,支持 async/await
  • 缺点:太过底层,需要自己封装

阮一峰fetch

详细区别推荐看这篇大佬写的