我使用下面的代码来处理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
}
});
答案 0 :(得分: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/