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 验证不适用于登台和生产系统的主要内容,如果未能解决你的问题,请参考以下文章

区分开发、登台和生产环境之间的 web.config

Select2 JS lib 不适用于 Rails 应用程序

验证系统 它适用于某些输入,但不适用于其他输入 使用 jQuery

Firebase + Next.js 无服务器,在 GCP 上 - 如何管理登台、生产 + 本地

Azure 管道不适用于生产

Apple 推送通知仅适用于开发,不适用于生产