作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的MVC应用程序正在生成以下HTML,该HTML在提交时会导致Javascript语法错误(我未在两个文本框中键入任何内容)。这是生成的HTML和提交处理程序:
<form action="/UrIntake/Save" id="UrIntakeForm" method="post">
<input data-val="true" data-val-length="The field LastName must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The LastName field is required." id="FormSubmitter_LastName" name="FormSubmitter.LastName" type="text" value="" />
<input data-val="true" data-val-length="The field FirstName must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The FirstName field is required." id="FormSubmitter_FirstName" name="FormSubmitter.FirstName" type="text" value="" />
<div id="SubmissionButtons" class="right">
<input type="button" onclick="SubmitForm()" value="Submit" />
<input type="button" onclick="CancelForm()" value="Cancel" />
</div>
</form>
function SubmitForm() {
$("#UrIntakeForm").valid();
.
.
.
parseJSON: function( data ) {
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( data );
}
最佳答案
原因
这是ASP.NET.MVC程序包中jquery.validate.unobtrusive.js
的问题。
从jQuery 1.9开始,parseJSON()
的行为已更改,并且undefined
值将被视为格式错误的JSON,从而导致您指定了错误。有关更多信息,请参见jQuery 1.9 Core Upgrade Guide。
解
使用jQuery Migrate plugin,它除其他功能外还向jQuery parseJSON()
实用程序添加了向后兼容性。
编辑
根据此thread on Microsoft Connect中的官方公告,该问题已在最新版本的框架中得到解决。
自然,正如Andreas Larsen在评论中指出的那样,请确保在升级到新版本后清除服务器端和客户端的所有相关缓存。
关于asp.net-mvc - 非侵入式验证期间parseJSON的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822540/
我是一名优秀的程序员,十分优秀!