2012-05-11 16 views
0

我使用下面的代碼來處理ajax調用erros。我想添加'$('body').append(...'行的行號以使其能夠回顯。按行號,我的意思是我的.js文件中的行號。想知道是否有可能得到實際的線路號碼?預先感謝您的回覆。乾杯。馬克jQuery - 獲取js文件中的實際行號

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

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

http://stackoverflow.com/questions/2011837/javascript-error-line-numbers – Imdad

回答

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/

+0

THK你了... – Marc

+0

天才,謝謝 –

相關問題