日期:2014-05-17 浏览次数:20914 次
@{ ViewBag.Title = "ErrorMonitor"; } <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script> <script type="text/javascript" language="javascript"> $(function () { setInterval(ajaxRequest, 1000); }); function ajaxRequest() { $.ajax( { url: '/TopDemo/Home/ErrorRefresh', // 指定调用的URL,对应于Controller data: '{}', // 如果请求有参数,需要在这里指定 type: "POST", // 请求类型 contentType: "application/json;charset=utf-8", dataType: "json", success: function (data) { // 请求成功后的回调 if (data == null || data.length == 0) { return false; } else { writeMsg(data); } }, error: function (data) { // 请求失败后的回调 alert(data.statusText); } } ); } function writeMsg(data) { var errorDiv = document.getElementById("errorDiv"); for (var i = 0; i < data.length; i++) { var errorText = document.createTextNode(data[i].errMsg); var errorTextDiv = document.createElement("div"); errorTextDiv.appendChild(errorText); if (errorDiv.hasChildNodes) { errorDiv.insertBefore(errorTextDiv, errorDiv.firstChild); } else { errorDiv.appendChild(errorTextDiv); } } } </script> <h2> 错误监控</h2> <div id="errorDiv"> </div>
[HttpPost] public JsonResult ErrorRefresh() { int errMsgSize = errMsgService.Size(); List<object> errors = new List<object>(); if (errMsgSize > 0) { for (var i = 0; i < errMsgSize; i++) { ErrorMessageModel errMsg = errMsgService.Remove(); if (errMsg != null) { errors.Add(new { errMsg = "error: " + errMsg.ErrorType + "," + errMsg.ErrorKey + "," + errMsg.ErrorTime + "," + errMsg.ErrorMsg }); } } } JsonResult result = this.Json(errors); return result; }