2

ajax 呼び出しのデフォルト エラー ハンドラを追加する便利なメソッドを作成しました。

function myAjaxFunction(url, data) {

    return $.ajax({
        url: url,
        data: data

    }).fail(myErrorHandler);

}

これまでのところ、50 か所の異なる場所でエラー ハンドラー関数を指定する必要がないため、これはうまく機能しています。

ただし、デフォルトのエラー ハンドラをカスタムのエラー ハンドラでオーバーライドする必要がある場合もあります。ただし、これを行うと、両方のエラーハンドラーが呼び出されます。

myAjaxFunction("myurl", "mydata").fail(myCustomErrorHandler).then(doSomething);

以前のエラー ハンドラをチェーンからオーバーライドまたは削除するにはどうすればよいですか?

4

1 に答える 1

6

以前のエラー ハンドラをチェーンから削除するにはどうすればよいですか?

それはいけません。

またはそれをオーバーライドしますか?

それが行ったことを元に戻すことができます (その効果を無効にします)。ただし、一般的なハンドラーを追加することはまったく避けたほうがよいでしょう。そのためには、便利なメソッドを変更する必要があります。オプションのパラメーターとしてカスタム ハンドラーをお勧めします。

function myAjaxFunction(url, data, customHandler) {
    return $.ajax({
        url: url,
        data: data

    }).fail(customHandler || myErrorHandler);
}
于 2013-08-27T20:20:31.140 に答える