【问题标题】:Why isn't jQuery working on published site?为什么 jQuery 不能在已发布的网站上工作?
【发布时间】:2026-02-08 03:40:01
【问题描述】:

我正在使用 asp.net mvc2。我创建了一个具有良好幻灯片和菜单的项目。它在本地机器上运行良好,但是当我通过服务器发布和查看时,jQuery 不起作用。

以下是我包含脚本的方式:

<script type="text/javascript" src="~/Resources/css/menu.js"> </script>

如何让 jQuery 工作?

【问题讨论】:

  • 你能展示你是如何包含脚本文件的吗?你是如何指定 src 属性的?

标签: javascript jquery asp.net asp.net-mvc-2 asp.net-mvc-routing


【解决方案1】:

您正在使用 MVC 2 ..对吗?

所以包含如下所示的脚本文件

  <script src="<%= Url.Content("~/Scripts/jquery-1.4.4.min.js") %>" type="text/javascript"></script>

请看一下src部分

【讨论】:

  • @ganesh。不客气。如果有帮助,请将其标记为答案
【解决方案2】:

为了调试(并可能获得更好的答案),我建议您为您的 javascript 使用以下选项之一:

  • 带有 IE9 的开发者工具 (F12)
  • Firebug 与 Firefox / Chrome

如果您的 javascript 中出现错误(未引用的库或语法错误),这些工具将为您提供帮助。

【讨论】:

    【解决方案3】:

    有很多事情需要检查:

    1. 确保您已在解决方案中包含 jquery .js 文件
    2. 确保您引用的 jquery 文件是相对的,而不是绝对的。使用Url.Content("~/Path/ToFile.js")

    【讨论】:

      【解决方案4】:

      在 ASP.Net MVC2 中你应该引用你的脚本文件如下:

      <script type="text/javascript" src="<%= Url.Content("~/Resources/css/menu.js")%>"></script>
      

      您还可以将脚本文件拖到 Site.Master 页面中,Visual Studio 将为您创建参考。

      从其他答案中也可以看出,ASP.Net MVC 中的约定是将任何 .js 文件放在脚本文件夹中。

      【讨论】:

      • 尝试将文件从其位置拖到您的 Site.Master 中
      【解决方案5】:

      您需要使用 Url.Content 以正确的方式添加对 Jquery 库的引用,

        <script src="<%=Url.Content("~/Scripts/jquery-1.5.1.min.js")%>" type="text/javascript"></script>
              <script src="<%=Url.Content("~/Scripts/jquery-ui-1.8.11.js")%>" type="text/javascript"></script>
      

      【讨论】:

      • 如果有人对一个帖子投了反对票,那么他们必须说明为什么然后投反对票。否则我们无法改进我们的帖子。 +1
      • 我认为否决票是因为不正确的答案被标记为答案,与 asp.net mvc2 相关的问题以及 Url.Content() 帮助器返回它需要的字符串
      • 啊错误。我之前没有看到它是mvc2。所以我使用了剃刀语法,然后我就改变了这种方式。我会编辑它。谢谢。
      【解决方案6】:

      检查以确保您部署的页面可以检索已部署站点上的 jQuery 和您的其他 javascript。您可能忘记将这些文件部署到生产服务器,或者 URL 错误。

      【讨论】:

        最近更新 更多