Jquery 验证不适用于登台和生产系统
Posted
技术标签:
【中文标题】Jquery 验证不适用于登台和生产系统【英文标题】:Jquery validation not working on staging and production systems 【发布时间】:2014-07-12 10:24:53 【问题描述】:我在我的 MVC Cshtml 项目中使用 jquery.validate.js,由于某种原因,验证似乎在我的开发机器上运行良好,但在生产机器上运行失败
这是我的 jquery 包
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/jquery.validate-vsdoc.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js"
));
这是我的cshtml
@section Scripts
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/ChosenJq")
<script type="text/javascript">
.....
所有 jquery 脚本的顺序都正确,即首先包含 Jquery,然后包含 . dev 机器和 stag 和 prod 机器上的代码库是相同的。该代码在开发机器上运行良好,如下所示。(对于电子邮件 ID)
但验证不会发生在暂存或生产机器上,如下所示
在控制台上,我在所有机器上都看到了这个错误。
但它似乎不会影响我在开发机器上,而只会影响我在 prod 机器上。 有没有人遇到过这种情况。我在 SO 上搜索过,但我无法与他们联系起来
Staging and Production Environments: IIS, Windows Server 2008 R2
【问题讨论】:
jquery-version.js 文件在哪里? 在此之前添加。 我也有类似的问题,你是怎么解决的? 一年前这个问题仍未解决,所以不记得最终发生了什么 【参考方案1】:实际上,在Staging
期间,捆绑包只发送了min
文件,因此在您的捆绑包中包含min
文件版本,如下所示。
"~/Scripts/jquery.validate.min.js",
或者
将 EnableOptimization 属性设置为 false
以在暂存期间传送非最小文件。
BundleTable.EnableOptimizations = false;
【讨论】:
其实我本来两个都有。还是不行。以上是关于Jquery 验证不适用于登台和生产系统的主要内容,如果未能解决你的问题,请参考以下文章
Select2 JS lib 不适用于 Rails 应用程序
验证系统 它适用于某些输入,但不适用于其他输入 使用 jQuery