2010-04-26 105 views
2

下不运行为了简化这个测试情况下,我创建了Visual Studio 2010中新的默认.NET MVC项目,并添加以下代码中的Site.Master的HTML头:jQuery的(文件)。就绪IIS7

<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部署之外的所有“嫌疑人”。

任何想法/建议?

+2

如果你删除所有的javascript,并用'alert($);'替换它,你会得到什么?另一种方法是从绝对URL(例如Google托管版本)加载jQuery:http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js - 您的问题可能与目录有关布局。 – Sampson 2010-04-26 16:32:51

+0

它在Firefox中工作吗? – SLaks 2010-04-26 16:40:22

+0

下载名为httpwatch的东西,看看是否正在下载jQuery。请记住,这是发生在客户端的事情,所以IIS应该与它无关。 – 2010-04-26 16:41:14

回答

3

它可能由SRC参考导致

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

将其替换为:

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

如果您的网站被部署在一个虚拟目录这大概就是这样。

+0

宾果!而已。当我查看inetpub日志文件时,“GET /Scripts/jquery-1.4.1.js”出现错误,IIS没有正确解析相关链接。非常感谢。 – gsiler 2010-04-26 17:38:20