0

以下のコードを使用して、ajax 呼び出しエラーを処理します。その行の行番号を追加して、'$('body').append(...'エコーアウトできるようにしたいと思います。行番号とは、.js ファイル内の行番号を意味します。実際の行番号を取得できるかどうか疑問に思っていますか? 返信ありがとうございます。乾杯。マルク

$.ajax({
    type: "POST",
    url: "myfile.php",
    error: function(jqXHR, textStatus, errorThrown) {

        $('body').append('aj.ERROR! [' + jqXHR.status + ' : ' + errorThrown + ']');
    },
    success: function(data) {
        // somecode
    }
});​
4

1 に答える 1

6

現在の行番号を公開する唯一の方法は、window.onerror次の署名を持つイベント ハンドラーを使用することです。

window.onerror = function(msg, url, line) { ... }

したがって、理論的には、コードで実際のエラーをトリガーし ( throw?)、エラー ハンドラーで追加を行うことができます。

window.onerror = function(msg, url, line) {
    $('body').append(msg + ' at ' + url + ':' + line);
};

$.ajax({
    type: "POST",
    url: "myfile.php",
    error: function(jqXHR, textStatus, errorThrown) {
        throw 'aj.ERROR! [' + jqXHR.status + ' : ' + errorThrown + ']';
    },
    success: function(data) {
        // somecode
    }
});​

編集して動作します(少なくともChromeでは...) - http://jsfiddle.net/alnitak/gLzY2/

于 2012-05-11T12:47:08.083 に答える