Jquery中.load()和.ajax()函数的区别

4

可能是重复的问题:
$(“#id”).load和$.ajax之间的区别?

我在我的代码中使用.ajax()进行异步调用,而在阅读.load()时,它看起来做了相同的事情。这两种方法之间有什么区别?


5
可能重复:https://dev59.com/o3I95IYBdhLWcg3w8y6N - amosrivera
1
.load()$ .ajax 方法的 速记 - gen_Eric
3个回答

19

$.ajax()是最可配置的,可以对HTTP headers等进行细粒度控制。您还能够使用此方法直接访问XHR对象。此外,它还提供了稍微更细致的错误处理。因此有时会更加复杂和不必要,但有时非常有用。您必须通过回调函数自己处理返回的数据。

.load()类似于$.get(),但添加了功能,允许您定义返回数据在文档中应该插入的位置。因此,只有当调用结果仅为HTML时才真正可用。由于它是与特定的jQuery包装的DOM元素相关联的方法,因此被称为略有不同于其他全局调用的方式。因此,您可以这样做:$('#divWantingContent').load(...)。

值得注意的是,所有的$.get()、$.post()和.load()都只是$.ajax()的封装,因为在内部它就是这样调用的。


6

$.load将URL的内容放入特定的HTML元素中。与$.ajax不同,它有一个更具体的目的(高级别)。

另一方面,$.ajax是低级别函数。它接受更多参数,因此可以设置为模拟$.load或许多其他高级别AJAX函数,例如$.get$.post


0
如果你在一个元素后附加.load(),jQuery 将把 ajax 调用的内容放入该元素中。这有点像.ajax() 的别名,它会为你返回数据而不需要使用回调函数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接