Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fetch、ajax和xhr之间的区别_Javascript_Ajax_Api_Xmlhttprequest_Fetch - Fatal编程技术网

Javascript fetch、ajax和xhr之间的区别

Javascript fetch、ajax和xhr之间的区别,javascript,ajax,api,xmlhttprequest,fetch,Javascript,Ajax,Api,Xmlhttprequest,Fetch,这3种调用方法之间有什么区别?我在当前的项目中使用fetch,没有看到它们之间的任何真正区别。为什么在JavaScriptXD中需要30种不同的方法来做事情 谢谢。Ajax是一个流行词,意思是“在不离开页面的情况下从JavaScript发出HTTP请求” XMLHttpRequest和fetch是浏览器提供的API,允许从JavaScript发出HTTP请求 XMLHttpRequest从90年代开始出现,是事件驱动的,需要绑定事件侦听器来检测数据何时到达 fetch较新,是围绕承诺构建的,承

这3种调用方法之间有什么区别?我在当前的项目中使用fetch,没有看到它们之间的任何真正区别。为什么在JavaScriptXD中需要30种不同的方法来做事情


谢谢。

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

XMLHttpRequest
fetch
是浏览器提供的API,允许从JavaScript发出HTTP请求


XMLHttpRequest
从90年代开始出现,是事件驱动的,需要绑定事件侦听器来检测数据何时到达

fetch
较新,是围绕承诺构建的,承诺现在是JavaScript中执行异步操作的首选方式。它已经足够成熟,除了在InternetExplorer中,它在任何地方都具有重要意义


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


有关如何使用这两种方法的实际介绍,MDN已经介绍了:


ajax的可能重复只是一个术语,除非您指的是jQuery的ajax方法,它只在内部使用xhr。另外请注意:Axios是一种流行的库/HTTP客户端(HTTP客户端是一种能够以HTTP格式向服务器发送请求并从服务器获取响应的客户端),用于以简单的方式使用复杂的xhr语法发出ajax请求,基于承诺的结构。它是fetch()的常用替代方法。需要注意的是,fetch不能提供上载进度,只有xmlhttprequest可以提供每50毫秒调用一次的进度事件。