ajax、axios、fetch的区别

ajax、axios、fetch 的区别

参考答案:

ajax 是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新。

使用 ajax 发送请求是依靠于一个对象,叫 XmlHttpRequest 对象,通过这个对象我们可以从服务器获取到数据,然后再渲染到我们的页面上。现在几乎所有的浏览器都有这个对象,只有 IE7 以下的没有,而是通过 ActiveXObject 这个对象来创建的。

Fetchajax 非常好的一个替代品,基于 Promise 设计,使用 Fetch 来获取数据时,会返回给我们一个 Pormise 对象,但是 Fetch 是一个低层次的 API ,想要很好的使用 Fetch,需要做一些封装处理。

下面是 Fetch 的一些缺点

  • Fetch 只对网络请求报错,对 400,500 都当做成功的请求,需要封装去处理
  • Fetch 默认不会带 cookie,需要添加配置项。
  • Fetch 不支持 abort ,不支持超时控制,使用 setTimeoutPromise.reject 的实现超时控制并不能阻止请求过程继续在后台运行,造成了流量的浪费。
  • Fetch 没有办法原生监测请求的进度,而 XHR 可以。

Vue2.0 之后,axios 开始受到更多的欢迎了。其实 axios 也是对原生 XHR 的一种封装,不过是 Promise 实现版本。它可以用于浏览器和 nodejsHTTP 客户端,符合最新的 ES 规范。

相关推荐
A_aspectJ2 分钟前
【Java基础开发】基于 Java Swing +MySQL + JDBC 版实现图书管理系统
java·开发语言·mysql
AC赳赳老秦3 分钟前
DBA 专属方案:用 OpenClaw 实现 SQL 语句优化、慢查询分析、数据库备份巡检全自动化
服务器·前端·数据库·ffmpeg·自动化·deepseek·openclaw
Gary Studio6 分钟前
安卓HAL编译流程
开发语言·python
我是无敌小恐龙19 分钟前
Java SE 零基础入门Day06 方法重载+Debug调试+String字符串全套API详解(超全干货)
java·开发语言·人工智能·python·transformer·无人机·量子计算
AI+程序员在路上20 分钟前
Qt6读取rtsp视频流的几种方法
开发语言·qt6.3
燐妤20 分钟前
前端HTML编程1:初识html
前端·html5
xiaoye370821 分钟前
java接口文档工具 swagger2和swagger3对比
java·服务器·前端
tongyiixiaohuang23 分钟前
基于轻易云的数据集成,实现企业系统间灵活对接
java·前端·数据库
码农飞哥28 分钟前
从Java后端到AI应用开发,我这两年做了什么
java·开发语言·人工智能
哥本哈士奇29 分钟前
Power BI学习笔记第17篇:Power BI Dashboard 常用布局方案推荐
前端·powerbi