我对服务器通过AJAX从服务器请求POST或GET的最快和最友好的方式有点困惑,是jQuery($.load()
,$.get()
,{{1 },$.post()
)或者像XMLHttpRequest这样的Javascript?
我需要在我的项目中创建一个函数或类来通过AJAX从服务器调用请求,但我不知道服务器jQuery或Javascript的速度更快,更友好。
答案 0 :(得分:6)
是jquery $ .load(),$。get(),$。postt(),$ .ajax()
这些功能都是彼此的准同义词; jQuery添加了一些语法糖和标准化接口,但最后,它使用浏览器的原生Ajax引擎(如XMLHttpRequest
)。我不认为它们之间存在明显的性能差异。
可能可能是超密集的边缘情况,有数千个请求,其中使用“原始”浏览器引擎可以在这里或那里减少几毫秒,但对于大多数情况,它赢了“无所谓。
如果你需要的话,你很可能会使用jQuery的功能(或其他库的功能),甚至不用考虑很长时间的性能。许多大牌使用jQuery,including Stack Overflow用于chat。
答案 1 :(得分:4)
.load()
,$.get()
,$.post()
和$.getJSON()
都只是$.ajax()
的捷径。它们仅为$.ajax()
,其中包含一些为您预先确定的设置。
.load()
唯一独特之处在于它已经为您定义了一个成功处理程序,它将检索到的内容注入到当前目标中。
它们都同样快,唯一的问题是你发现最具可读性。
如果你要进行大量类似的ajax调用,那么最好在可访问的地方使用$.ajaxSetup()(阅读:靠近顶部)。这允许您预先设置最常用的设置,从而创建自己的快捷功能。
答案 2 :(得分:2)
jQuery只需包装XMLHttpRequest,并在所有浏览器中为您标准化界面。有一点开销,但在网络方面没有任何东西。我要说jQuery函数的开销与你节省自己不得不自己跨浏览器标准化XMLHttpRequest的时间相比是微不足道的。
否则您的速度取决于服务器的带宽,连接到服务器的客户端,流量,后端代码的速度/优化等。
答案 3 :(得分:1)
jQuery 是 javascript。您描述的所有ajax函数都依赖于XMLHttpRequest(或旧版浏览器中的替代函数),因此它们比直接使用浏览器的功能要慢。
当然,权衡是jQuery的功能更容易使用。因此,如果您的第一个问题是效率,请编写您自己的ajax函数(或直接使用ajax)。如果你只想完成它,那么使用jQuery会更快。