jQuery.getJSON的jqXHR 对象

jQuery.getJSON的jqXHR 对象
  如果URL包含字符串“callback=?”(或类似的参数,取决于服务器端 API 是如何定义的),这个请求被视为JSONP形式请求。更多jsonp数据类型的细节讨论,请参阅$.ajax()。
  
  The jqXHR Object(jqXHR 对象)
  
  注:估计是jQuery官方没有及时的更新这条api,和jQuery.get() api中的jqXHR 对象描述上有差别。
  
  从jQuery 1.5开始,所有jQuery的Ajax方法都返回一个XMLHTTPRequest对象的超集。这个通过$.get()方法返回的jQuery XHR对象,或“jqXHR,”实现了 Promise 接口,使它拥有 Promise 的所有属性,方法和行为(见Deferred object获取更多信息)。 为了便于在 $.ajax()里使用,jQuery XHR 对象$.ajax()同样也提供了.error() .success()和.complete()方法。这些方法接受一个函数参数,用来请求终止时被调用。这个函数接收与$.ajax()回调函数名中相同的参数。
  
  Promise 接口也允许jQuery的Ajax方法, 包括 $.getJSON(), 在一个单独的请求中关联到 .success(), .complete(), 和 .error() 回调函数, 甚至允许你在请求已经结束后,指派回调函数。如果该请求已经完成,则回调函数会被立刻调用。
  
  // Assign handlers immediately after making the request,
  
  // and remember the jqxhr object for this request
  
  var jqxhr = $.getJSON("example.json", function() {
  
  alert("success");
  
  })
  
  .success(function() { alert("second success"); })
  
  .error(function() { alert("error"); })
  
  .complete(function() { alert("complete"); });
  
  // perform other work here ...
  
  // Set another completion function for the request above
  
  jqxhr.complete(function(){ alert("second complete"); });

推荐阅读