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

时间:2011-03-09 18:46:53

标签: jquery

  

可能重复:
  difference between $(“#id”).load and $.ajax?

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

3 个答案:

答案 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()的别名,它为您返回数据而不必使用回调。