$ .ajax()和$ .get()以及$ .load()之间的区别

Vai*_*ain 169 ajax jquery

是什么区别$.ajax(),并$.get()$.load()

哪种更好用,在什么条件下使用?

Ale*_*gen 233

$.ajax()是最可配置的,您可以在其中获得对HTTP标头等的细粒度控制.您还可以使用此方法直接访问XHR对象.还提供了稍微更精细的错误处理.因此可能更复杂,而且往往是不必要的,但有时非常有用.您必须使用回调处理返回的数据.

$.get()只是一个简写,$.ajax()但是抽象出一些配置,为它隐藏的东西设置合理的默认值.将数据返回给回调.它只允许GET请求,因此伴随着$.post()类似抽象的功能,仅用于POST

.load()类似于$.get()但添加了功能,允许您定义文档在何处插入返回的数据.因此,实际上只有在调用只会导致HTML时才可用.它被称为与其他全局调用略有不同,因为它是一个绑定到特定jQuery包装的DOM元素的方法.因此,人们会这样做:$('#divWantingContent').load(...)

应当指出的是,所有的$.get(),$.post(),.load()都只是包装器$.ajax(),因为它的内部调用.

有关jQuery的Ajax文档的更多细节:http://api.jquery.com/category/ajax/

  • @UzairAli不,它从字面上取你传递给它的变量并使用它们来执行jQuery.ajax() (3认同)

Fel*_*ing 29

这些方法提供了不同的抽象层.

  • $.ajax()让您完全控制Ajax请求.如果其他方法没有满足您的需求,您应该使用它.

  • $.get()执行Ajax GET请求.返回的数据(可以是任何数据)将传递给您的回调处理程序.

  • $(selector).load()将执行Ajax GET请求并将设置所选返回数据的内容(应该是文本或HTML).

这取决于你应该使用哪种方法的情况.如果你想做简单的事情,就没有必要打扰$.ajax().

例如$.load(),如果返回的数据是JSON需要进一步处理,则不会使用.在这里你要么使用$.ajax()$.get().


dec*_*eze 9

http://api.jquery.com/jQuery.ajax/

jQuery.ajax()

描述:执行异步HTTP(Ajax)请求.

完整的monty,可以让你做出任何类型的Ajax请求.


http://api.jquery.com/jQuery.get/

jQuery.get()

描述:使用HTTP GET请求从服务器加载数据.

只允许您发出HTTP GET请求,只需要少一点的配置.


http://api.jquery.com/load/

.load()

描述:从服务器加载数据并将返回的HTML放入匹配的元素中.

专门用于获取数据并将其注入元素.


Tim*_*Tim 8

很基本但是

  • $.load():将一段html加载到容器DOM中.
  • $.get():如果您想进行GET调用并对响应进行广泛播放,请使用此选项.
  • $.post():如果要进行POST调用并且不想将响应加载到某个容器DOM,请使用此选项.
  • $.ajax():如果您需要在XHR失败时执行某些操作,或者您需要动态指定ajax选项(例如,cache:true),请使用此选项.


pym*_*men 6

重要说明: 如果提供了数据参数,jQuery.load()方法不仅可以执行GET请求,还可以执行POST请求(请参阅:http : //api.jquery.com/load/

数据类型:PlainObject 或字符串 随请求发送到服务器的普通对象或字符串。

请求方法如果数据作为对象提供,则使用POST方法;否则,假定为GET

Example: pass arrays of data to the server (POST request)
$( "#objectID" ).load( "test.php", { "choices[]": [ "Jon", "Susan" ] } );
Run Code Online (Sandbox Code Playgroud)


jga*_*fin 5

$.get = $.ajax({type: 'GET'});
Run Code Online (Sandbox Code Playgroud)

$.load()是只能在元素上调用的辅助函数。

$.ajax()给你最大的控制权。您可以指定是否要 POST 数据、获得更多回调等。