【问题标题】:jQuery(document).ready doesn't run under IIS7jQuery(document).ready 不在 IIS7 下运行
【发布时间】:2010-04-26 16:29:54
【问题描述】:

为了简化这个测试用例,我在 Visual Studio 2010 中创建了一个新的默认 .NET MVC 项目,并将以下代码添加到 Site.Master 的 HTML 标头中:

<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript">
  jQuery(document).ready(function () { alert('jQuery document ready'); });
</script>

这在 .NET 开发服务器中按预期工作。但是,当部署到 IIS7 时,不会执行 jQuery(document).ready 函数。不用说,我的实际应用要复杂得多。这消除了除了 IIS7 部署之外的所有“嫌疑人”。

有什么想法/建议吗?

【问题讨论】:

  • 如果你删除所有的 javascript,并用 alert($); 替换它,你会得到什么?另一种选择是从绝对 URL 加载 jQuery,例如 Google 的托管版本:ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js - 您的问题可能与目录布局有关。
  • 在 Firefox 中可以使用吗?
  • 下载一个叫做 httpwatch 的东西,看看是否正在下载 jQuery。请记住,这是发生在客户端的事情,因此 IIS 应该与它无关。

标签: jquery iis-7 document-ready


【解决方案1】:

可能是src引用引起的

src="../../Scripts/jquery-1.4.1.js"

替换为:

src="<%=Url.Content("~/Scripts/jquery-1.4.1.js")%>"

如果您的站点部署在虚拟目录中,可能就是这种情况。

【讨论】:

  • 宾果游戏!就是这样。当我查看 inetpub 日志文件时,“GET /Scripts/jquery-1.4.1.js”出现错误,IIS 没有正确解析相关链接。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2011-09-07
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
相关资源
最近更新 更多