2

.getJSON function()を検出するにはどうすればよいでしょうか500 Internal Server error.error()、リターンステータスをチェックする関数を追加しようとし .complete(status)ましたが、どれも機能していません。jQuery はエラーを無視しているようです。

4

2 に答える 2

4

編集

このようなエラーをキャッチするセットアップ関数

jQuery Ajax エラー処理関数

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

このようにしようとすると呼び出されます

// jQuery AJAX Error Handler
$.ajax({
  url: "test.php"
});

詳細については、この投稿を確認してください: jquery-ajax-error-handling-function


関数は、$.getJSON必要なエラーを返しません。$.ajax代わりに使用してください:

  $.ajax({
    url: 'url',
    dataType: 'json',
    success: function( data ) {
      alert( "SUCCESS:  " + data );
    },
    error: function( data ) {
      alert( "ERROR:  " + data );
    }
  });

詳細については、このようなエラー関数も試してください

error: function (request, status, error) {
        alert(request.responseText);
    }
于 2012-11-29T07:09:54.023 に答える
0

使いたく$.getJSON()ない場合$.ajax()

$("#debug").ajaxError(function(event, xhr, opt, exception){
  // do your things.
});

しかし、このハンドラーはすべての ajax エラーをキャッチします。したがって、実行中の ajax を処理する必要があります。を表示したくない場合はcss#debugで設定してください。display: none

于 2012-11-29T07:16:29.520 に答える