提交不正确的数据时,JQGrid 不会在表单中显示错误。它适用于我的本地机器,但不适用于生产。它曾经在 prod 中工作,但在过去的几个月里我做了一些更改,但不确定是哪个更改破坏了它。我正在使用 JQGrid 4.4.1、jquery 1.7.2 和 MVC 4。浏览器中的错误显示如下
Uncaught SyntaxError: Unexpected token < jquery%20-1.7.2.min.js:3
e.extend.parseJSON jquery%20-1.7.2.min.js:3
editItems.errorTextFormat WaterReadingCapture:1291
$.extend.complete jquery.jqGrid.src.js:7572
o jquery%20-1.7.2.min.js:3
p.fireWith jquery%20-1.7.2.min.js:3
w jquery%20-1.7.2.min.js:10
d jquery%20-1.7.2.min.js:10
编辑
这是我从服务器得到的。正文中包含此内容的 Html 页面。我还升级了 RazorEngine。问题可能出在服务器上,与 jquery 和 jqgrid 无关吗?但是我从 prod 复制了整个站点并在我的本地计算机上运行它并且它有效。
<h2>500 - Internal server error.</h2>
<h3>There is a problem with the resource you are looking for, and it cannot be displayed.</h3>
WaterReadingCapture
errorTextFormat: function (data) {
return '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>' +
"<strong>" + $.parseJSON(data.responseText).Message + "<strong>";
},
JQGrid
if(Status != "success") {
ret[0] = false;
ret[1] = $($t).triggerHandler("jqGridAddEditErrorTextFormat", [data, frmoper]);
if ($.isFunction(rp_ge[$t.p.id].errorTextFormat)) {
ret[1] = rp_g
e[$t.p.id].errorTextFormat.call($t, data);
} else {
ret[1] = Status + " Status: '" + data.statusText + "'. Error code: " + data.status; // line of error
}
} 别的 {
编辑 我恢复了 6 个月前的备份,它仍然给出同样的错误,我知道它当时有效。因此 IIS 或服务器中的某些内容发生了变化。谢谢您的帮助