加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在不显眼的验证过程中使用parseJSON的语法错误

发布时间:2020-12-15 23:40:05 所属栏目:asp.Net 来源:网络整理
导读:我的MVC应用程序正在生成以下HTML,在提交时会导致Javascript语法错误(我没有在两个文本框中输入任何内容).这是生成的HTML和提交处理程序: form action="/UrIntake/Save" id="UrIntakeForm" method="post" input data-val="true" data-val-length="The field
我的MVC应用程序正在生成以下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();
.
.
.

这是发生语法错误的jQuery代码(v1.9.0). “data”未定义,“return”行是发生错误的地方:

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()的行为已更改,未定义的值将被视为格式错误的JSON,导致您指定的错误.有关更多信息,请参阅jQuery 1.9 Core Upgrade Guide.

使用jQuery Migrate plugin,其中包括与jQuery parseJSON()实用程序的向后兼容性.

编辑

根据thread on Microsoft Connect年的正式公告,该框架的最新版本已经解决了这个问题.

当然,正如Andreas Larsen在评论中指出的那样,在升级到新版本后,请确保清除任何相关缓存,服务器端和客户端.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读