我有一个 MVC 4 应用程序,其中包含一个带有多个字段集的表单的视图。当我在 Chrome 中发布此表单时,它会正确保存。在IE 10.0.92
以下 jQuery 方法中出现错误。抛出错误的行有一个箭头。这大约是第 538 行。我确定在 Chrome 中执行时甚至没有调用此方法。
parseJSON: function (data) {
// Attempt to parse using the native JSON parser first
if (window.JSON && window.JSON.parse) {
--> return window.JSON.parse(data);
}
if (data === null) {
return data;
}
if (typeof data === "string") {
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim(data);
if (data) {
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if (rvalidchars.test(data.replace(rvalidescape, "@")
.replace(rvalidtokens, "]")
.replace(rvalidbraces, ""))) {
return (new Function("return " + data))();
}
}
}
jQuery.error("Invalid JSON: " + data);
},
我得到的错误如下:
我对“数据”的值发出了警报,但得到了一个未定义的结果。我没有大量使用 jQuery 或 JavaScript 的经验。如果需要更多信息,我很乐意提供。
经过进一步测试,此更改似乎解决了问题,但我不确定这是正确的方法:
parseJSON: function (data) {
if (data === undefined) {
return data;
}
// Attempt to parse using the native JSON parser first
if (window.JSON && window.JSON.parse) {
return window.JSON.parse(data);
}