間違ったデータを送信しても、JQGrid はフォームにエラーを表示しません。私のローカルマシンでは動作しますが、本番環境では動作しません。以前は本番環境で機能していましたが、ここ数か月でいくつかの変更を加えましたが、どの変更がそれを壊したのかわかりません。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
編集
これは私がサーバーから取得しているものです。本文に this を含む 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>
WaterReadingキャプチャ
errorTextFormat: function (data) {
return '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>' +
"<strong>" + $.parseJSON(data.responseText).Message + "<strong>";
},
JQグリッド
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 またはサーバーの何かが変更されました。助けてくれてありがとう