fetch、ajax、xhr的区别

Difference between fetch, ajax, and xhr

这3种调用方式有什么区别?我在当前项目中使用 fetch,看不出它们之间有任何真正的区别。 javascript XD.

为什么需要 30 种不同的方式来做事

谢谢。

Ajax 是一个流行语,意思是“在不离开页面的情况下从 JavaScript 发出 HTTP 请求”。

XMLHttpRequestfetch是浏览器提供的API,允许从JavaScript.

发出HTTP请求

XMLHttpRequest 自 90 年代以来一直存在,并且是事件驱动的,要求您绑定事件侦听器以检测数据何时到达。

fetch 较新并且围绕 Promises 构建,Promises 现在是 JavaScript 中执行异步操作的首选方式。除了 Internet Explorer 之外,它已被充分确立 supported 在任何地方都很重要。但是,它确实缺少 `XMLHttpRequest 提供的某些功能(例如进度监控)。


简而言之,有两种(不是 30 种)专门构建的方法 Ajax,其中一种是现代的。


关于如何使用它们中的任何一个的实用介绍,MDN 为您介绍:


也有各种库围绕 fetchXMLHttpRequest 提供 API ,这些库在情境上更方便(例如 [=43 之间的一致 API =] 和浏览器或与框架集成,如 Angular).