将客户端错误记录到服务器

Kar*_*non 7 javascript error-handling asp.net-mvc jquery

可能重复:
在服务器上记录客户端JavaScript错误

如何将客户端javascript错误记录到服务器?我正在使用jQuery和MVC.

And*_*y E 16

由于它们是客户端错误,因此您必须使用XMLHttpRequest将它们发送到服务器.您可以使用try...catch语句或window.onerror:

window.onerror = function (msg, url, line)
{
    var message = "Error in "+url+" on line "+line+": "+msg;
    $.post("logerror.aspx", { "msg" : message }); 
}
Run Code Online (Sandbox Code Playgroud)

请注意,lineurl能前8是非常不准确的IE版本.


Tim*_*own 6

你可以使用我的log4javascript,它有一个XMLHttpRequest用于登录服务器的appender :

var log = log4javascript.getLogger("serverLog");
var ajaxAppender = new log4javascript.AjaxAppender("clientlogger.jsp");
log.addAppender(ajaxAppender);

try {
    nonExistentFunction();
} catch(ex) {
    log.error("Something's gone wrong!", ex);
}
Run Code Online (Sandbox Code Playgroud)