作者:匿名用户
链接:https://www.zhihu.com/question/20866957/answer/86544154
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
jQuery.ajax返回的是jqXHR對象,它是瀏覽器原生XMLHttpRequest對象的一個超集,並實現了Promise接口。使它擁有了Promise的所有屬性,方法和行為。為了讓回調函數名字統一,便於$.ajax中使用,jqXHR也提供了.error(),.success(),.complete(),但是由於版本的升級相應的.fail(),.done(), .always()代替了前三個方法,使用方式和解釋並沒有什麼區別。
jqXHR.fail(function(jqXHR, textStatus, errorThrown) {});
一種可供選擇的請求失敗時調用的回調選項構造函數,.fail()方法取代了的過時的.error()方法。
jqXHR.done(function(data, textStatus, jqXHR) {});
一種可供選擇的請求成功時調用的回調選項構造函數,.done()方法取代了過時的.success()方法。
jqXHR.always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { });
一種可供選擇的請求結束時調用的回調選項構造函數,.always()方法代替了過時的.complete()方法,
當請求成功時,該函數的參數與.done()的參數一致;當請求失敗時,該函數的參數與.fail()的參數一致。
具體內容可以看下中文api
jQuery.ajax()