2012-03-23 46 views
83

我找不到$.ajax失敗時三個參數名稱的文檔。發送給jQuery的參數是什麼?

現在,我只是用:

.fail(function(A, B, C) { 
+2

可能與傳遞給'error'回調:'jqXHR,textStatus,errorThrown'相同。 – 2012-03-23 22:27:50

回答

70

根據http://api.jquery.com/jQuery.ajax/fail回調應該得到:

jqXHR, textStatus, errorThrown

一樣error,但error被棄用:

Depreca注意:在jQuery 1.8中,jqXHR.success(),jqXHR.error()和jqXHR.complete()回調將被棄用。要準備代碼以便最終刪除它們,請改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。

+0

哦,我沒有注意到。感謝分享這篇文檔。我很高興jQuery XHR回調最終與Deferreds匹配。 – 2012-03-23 22:35:26

+1

哦,但ajaxError方法有事件,jqXHR,ajaxSettings,thrownError。 – 2012-03-23 22:55:02

+0

他們都是相同的回調,通過相同的參數,只是不同的用途和上下文。 – nathanjosiah 2012-03-23 22:59:26

21

這裏尋找同樣的問題之後的示例:

this.GetOrderList = function (customerId) { 
    var self = this; 
    $.post('MySuperServer.aspx', { customerId: customerId }) 
    .done(function (dataStr) { 
     var orderList = jQuery.parseJSON(dataStr); 
     self.process(orderList); 
    }) 
    .fail(function (jqXHR, textStatus, error) { 
     console.log("Post error: " + error); 
    }); 
} 

調試時,我已經有了:

  • jqXHR是一個JS對象
  • textStatus是「錯誤」
  • 錯誤是「內部服務器錯誤」,它是服務器發送的錯誤消息。
+1

是的,我認爲他們試圖通過使用單詞textStatus意味着這是狀態變量,它是文本格式。與jqXHR相比,它是一個jQuery對象。 – 2015-03-16 17:44:02

相關問題