我使用的是ASP.NET MVC4.0,我正在体验一种奇怪的行为,使用JQuery进行不引人注目的验证。
我已经将它的相关脚本放置到我的layout.cshtml中,当我打开视图并点击submit按钮时,验证消息就会出现,并且突然触发服务器调用。即调试器进入POST事件的服务器代码中。
基本上,这两件事都发生在这里。客户端验证以及服务器端事件。
我可以看到消息被触发,但是执行似乎还在继续,并转到服务器端。
这是我的视图代码:
@using (Html.BeginForm("AddUser", "Registration", FormMethod.Post, new { enctype = "multipart/form-data", id = "frm1" }))
{
//some HTML markup
.
.
.
<div class="col-md-1 divside-left-first">
<button type="submit" value="Save" id="Btnsave" class="btn ui-state-default medium"> Submit </button>
</div>
}我已经将以下脚本放在底部的layout.cshtml文件中,并在浏览器上正确地呈现它们。我查过了。
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>除此之外,除了本机JQuery.js脚本之外,我没有使用任何其他脚本。
我已经尝试过的事情:
对于我在这里做错了什么或没有得到什么帮助或建议,我们将不胜感激。
发布于 2015-12-05 08:49:15
经过近一天的挣扎,我终于找到了解决这个问题的办法。对任何一个人来说,这都可能是另一回事,但就我而言,这似乎是可行的:
我正在使用的JQuery版本和不引人注目的验证JS的问题。他们似乎相处得不太好,每当发生POST事件时,我在浏览器控制台中观察到一个错误,说明“意外令牌u"。
因此,在深入探讨这个错误的同时,我了解到这两个JS文件之间存在某种冲突,您需要使用一个额外的JS文件来帮助消除差异,使它们完美地协同工作。该文件是:
jquery.migrate
您只需要在代码中添加这个JS文件引用,并确保所有其他JS文件都在正确的位置,然后运行您的代码。在这之后,它就像预期的那样工作了。
希望这能有所帮助。
https://stackoverflow.com/questions/34042825
复制相似问题