我在我的代码中使用.ajax()进行异步调用,而在阅读.load()时看起来它做同样的事情。两种方法之间有什么区别?
答案 0 :(得分:15)
$ .ajax()是最可配置的,您可以在其中获得对HTTP标头等的细粒度控制。您还可以使用此方法直接访问XHR对象。还提供了稍微更精细的错误处理。因此可能更复杂,而且往往是不必要的,但有时非常有用。您必须使用回调处理返回的数据。
.load()类似于$ .get(),但添加了一些功能,允许您定义文档在何处插入返回的数据。因此,实际上只有在调用只会导致HTML时才可用。它被称为与其他全局调用略有不同,因为它是一个绑定到特定jQuery包装的DOM元素的方法。因此,人们可以这样做:$('#divWantingContent')。load(...)
应该注意的是,所有$ .get(),$。postt(),. load()都只是$ .ajax()的包装器,因为它是在内部调用的。
答案 1 :(得分:6)
$.load
将URL的内容放入特定的HTML元素中。与$.ajax
不同,它具有更具体的目的(高级别)。
$.ajax
是低级函数。它接受更多参数,因此可以设置为模仿$.load
或许多其他高级AJAX函数(如$.get
和$.post
)的行为。
答案 2 :(得分:0)
如果将.load()
附加到元素,jQuery会将ajax调用的内容放入元素中。它有点像.ajax()
的别名,它为您返回数据而不必使用回调。