jQueryで.failに送信されるパラメーターは何ですか?


107

$.ajax失敗した場合の3つのパラメーターの名前に関するドキュメントが見つかりません。

今、私はただ使っています:

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

2
おそらくerrorコールバックに渡されるものと同じです:jqXHR, textStatus, errorThrown
Felix Kling

回答:


93

http://api.jquery.com/jQuery.ajax/によると、failコールバックは次のようになるはずです:

jqXHR, textStatus, errorThrown

と同じですがerrorerror非推奨です。

非推奨の通知:jqXHR.success()、jqXHR.error()、およびjqXHR.complete()コールバックは、jQuery 1.8で非推奨になります。最終的な削除のためにコードを準備するには、代わりにjqXHR.done()、jqXHR.fail()、およびjqXHR.always()を使用します。


おお、気づかなかった。ドキュメントの一部を共有していただきありがとうございます。私はjQuery XHRコールバックが最終的にDeferredと一致していることをうれしく思います。
Michael Mior

2
ああ、でもajaxErrorメソッドにはイベント、jqXHR、ajaxSettings、thrownErrorがあります。
Phillip Senn

これらはすべて同じコールバックであり、同じ引数が渡されますが、用途とコンテキストが異なります。
nathanjosiah

6
failコールバックがこれらの3つの引数を受け取るとどこに記載されていますか?また、完全な設定パラメータについてもそのように述べています。これらは異なります。たとえば、へcompleteの引数はに渡される引数とは異なりdoneます。
トム・

5
@Tom、私はあなたに遅れて応答するための方法です知っているが、それはここに記載されている:api.jquery.com/jQuery.ajax/#jqXHRjqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
nathanjosiah

27

同じ問題を探した後の例:

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は「error」です
  • エラーは「内部サーバーエラー」です。サーバーから送信されたエラーメッセージです。

1
ええ、textStatusという単語を使用して彼らが示唆しようとしていることは、これがステータス変数であり、テキスト形式であることです。jQueryオブジェクトであるjqXHRと比較して。
Phillip Senn、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.