【问题标题】:Jquery validation not working on staging and production systemsJquery 验证不适用于登台和生产系统
【发布时间】: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 文件在哪里?
  • 在此之前添加。
  • 我也有类似的问题,你是怎么解决的?
  • 一年前这个问题仍未解决,所以不记得最终发生了什么

标签: javascript jquery validation asp.net-mvc-4


【解决方案1】:

实际上,在Staging 期间,捆绑包只发送了min 文件,因此在您的捆绑包中包含min 文件版本,如下所示。

 "~/Scripts/jquery.validate.min.js",

或者

将 EnableOptimization 属性设置为 false 以在暂存期间传送非最小文件。

BundleTable.EnableOptimizations = false;

【讨论】:

  • 其实我本来两个都有。还是不行。
猜你喜欢
  • 2021-01-16
  • 2013-02-04
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多