Rod*_*ues 116 ajax jquery xmlhttprequest
如何找出最适合某种情况的方法?任何人都可以提供一些例子来了解功能和性能方面的差异吗?
Rob*_*nik 140
XMLHttpRequest 是jQuery包装成更加可用和简化的表单以及跨浏览器一致功能的原始浏览器对象.
jQuery.ajax 是jQuery中的一般Ajax请求者,可以执行任何类型和内容请求.
jQuery.get而jQuery.post在另一方面他只能发出GET和POST请求.如果你不知道它们是什么,你应该检查HTTP协议并学习一点.在内部这两个函数使用,jQuery.ajax但它们使用您没有自己设置的特定设置,因此与使用相比简化了GET或POST请求jQuery.ajax.无论如何,GET和POST是最常用的HTTP方法(与DELETE,PUT,HEAD甚至其他很少使用的exotics相比).
所有jQuery函数都XMLHttpRequest在后台使用对象,但提供了您不必自己执行的其他功能.
因此,如果您使用的是jQuery,我强烈建议您仅使用jQuery功能.XMLHttpRequest完全忘掉了.使用合适的jQuery请求函数变体,并在所有其他情况下使用$.ajax().所以,不要忘记还有其他常见的jQuery的Ajax相关的功能来$.get(),$.post()和$.ajax().那么你可以只用你$.ajax()的所有请求,但你必须编写更多的代码,因为它需要更多的选项来调用它.
这就像你可以自己买一辆汽车发动机,你必须用它来制造整车,转向,刹车等......汽车制造商生产完整的汽车,具有友好的界面(踏板,方向盘等)所以你不必自己动手.
jQuery.get是的包装jQuery.ajax,这是XMLHttpRequest的包装。
XMLHttpRequest和Fetch API(目前处于实验阶段)是DOM中唯一的,因此应该是最快的。
我看到了很多不再准确的信息,因此我创建了一个测试页,任何人都可以随时从最好的版本中测试版本:
https://jsperf.com/xhr-vs-jquery-ajax-vs-get-vs-fetch
从我今天的测试中可以看出,只有jQuery并不是一种干净甚至快速的解决方案,对于我来说,在移动设备或台式机上的结果表明,如果您使用过多的Ajax,则jQuery至少比XHR2慢80%,在移动设备中,加载一个简单的网站将花费大量时间。
用法本身也在链接中。