javascript - 在服务器上记录客户端 JavaScript 错误
问题描述
使用函数名、行号、文件名在服务器上记录客户端 JavaScript 错误。处理页面加载和按钮单击时的错误。如何编写错误日志。
解决方案
ErrorController
您可以使用操作创建控制器Log
,在此controller
您使用实体框架将错误信息保存到数据库。
[HttpPost]
[Authorize]
public JsonResult Log(ErrorModel error)
{
var message = error.message;
var url = error.url;
//dbContext save to Log table
}
如果您关心安全测试,您可以Authorize
在操作上添加属性。
在客户端实现 onerror 事件
<script type="text/javascript">
window.onerror = function(msg, url, linenumber) {
$.ajax({
type: "POST",
url: '/Error/Log',
contentType: "application/json; charset=utf-8",
data: { message: msg, url: url, linenumer: linenumber },
dataType: "json",
success: function() { // handle if need },
});
};
</script>
推荐阅读
- windows - 从 docker(linux 容器)访问 Windows COM 端口
- oracle - Jasperserver 和 oracle 自治数据库
- optimization - 最大维矩阵
- c# - 可空引用类型和实现接口
- cakephp - CakePHP 4 Forms:不要在多选时预选
- json - 将带 href 的超链接添加到命名格式 I18n vuejs
- javascript - 如何将文本从 span 复制到没有 ID 的数据组属性?
- multithreading - .join() 方法即使在新线程上调用也会阻塞 UI 线程
- cookies - 如何在 jmeter 中传递 cookie(浏览器 cookie 和同时手动添加 cookie)
- node.js - ERR_CONNECTION_REFUSED 错误,当我尝试从连接到同一 wifi 网络的移动设备访问笔记本电脑上本地主机上运行的服务器时