[英]What is the fastest way to work with ajax request?
我对服务器通过AJAX向服务器请求POST或GET最快和友好的方式感到困惑,是jQuery( $.load()
, $.get()
, $.post()
, $.ajax()
)还是Javascript之类的XMLHttpRequest?
我需要在我的项目中使用一个函数或类,以通过AJAX调用服务器的请求,但是我不知道使用服务器jQuery或Javascript更快,更友好的方法是什么。
是jquery $ .load(),$ .get(),$ .post(),$ .ajax()
这些功能都是彼此的准同义词。 jQuery添加了一些语法糖和标准化接口,但是最后,它使用了浏览器的本机Ajax引擎(例如XMLHttpRequest
)。 我认为它们之间没有明显的性能差异。
可能会有数千个请求的超级密集情况,使用“原始”浏览器引擎可能会在这里或那里节省几毫秒的时间,但是对于大多数情况而言,这并不重要。
您很可能可以长时间使用jQuery的功能(或在需要时使用其他库的功能),甚至无需考虑性能。 许多知名人士大量使用jQuery, 包括 聊天时使用Stack Overflow 。
.load()
, $.get()
, $.post()
和$.getJSON()
只是$.ajax()
的捷径。 它们只是$.ajax()
,其中一些设置是为您预先确定的。
.load()
唯一的独特之处在于,它已经为您定义了成功处理程序,该处理程序会将检索到的内容注入到当前目标中。
它们的速度都一样快,唯一的问题是您最容易阅读。
如果您将进行许多类似的ajax调用,那么最好在可访问的位置使用$ .ajaxSetup() (阅读:靠近顶部)。 这使您可以预设最常用的设置,从而创建自己的快捷功能。
jQuery只是包装XMLHttpRequest并在所有浏览器中为您标准化接口。 有一些开销,但是在网络方面却没有。 我要说的是,与将要自己跨浏览器标准化XMLHttpRequest所节省的时间相比,jQuery函数的开销微不足道。
否则,您的速度取决于服务器的带宽,连接到服务器的客户端,通信量,后端代码的速度/优化等。
jQuery 是 javascript。 您描述的所有ajax函数都依赖于XMLHttpRequest(或其在旧版浏览器中的替代方法),因此它们比直接使用浏览器的功能要慢。
当然,折衷是jQuery的函数更易于使用。 因此,如果效率是您的首要考虑,请编写自己的ajax函数(或直接使用ajax)。 如果您只想完成它,那么使用jQuery会更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.