19

私は ajax 例外をキャッチする401 Unauthorisedのが好きですが、すべての ajax クエリを変更するのは好きではありません。(overwrite any errorhandler) のような $.ajax 呼び出しに対してそれを変更する方法はありますか?

4

5 に答える 5

28

グローバル ajax イベント ハンドラ.ajaxError()を使用できます

$( document ).ajaxError(function( event, jqxhr, settings, exception ) {
    if ( jqxhr.status== 401 ) {
        $( "div.log" ).text( "Triggered ajaxError handler." );
    }
});
于 2013-08-01T09:22:21.280 に答える
13

次のようなことができます。

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 401) {
                alert('HTTP Error 401 Unauthorized.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

これにより、どのajax呼び出しでもエラーが発生します。

于 2013-08-01T09:22:36.977 に答える
2

この$.ajaxSetup()関数を使用すると、Ajax 呼び出しのグローバル オプションを指定できます。ただし、他の呼び出しはajaxSetup()グローバル オプションを上書きし、メソッドに指定されたローカル オプションはajax()グローバル設定を上書きするので注意してください。

ドキュメンテーション

于 2013-08-01T09:23:01.697 に答える
1

.ajaxError()グローバルメソッドhttp://api.jquery.com/ajaxError/として使用してみてください

于 2013-08-01T09:22:49.507 に答える