在服务器上发布后无法加载jQuery和用户定义js文件

在服务器上发布后无法加载jQuery和用户定义js文件,jquery,css,iis-7.5,web-deployment,Jquery,Css,Iis 7.5,Web Deployment,我已经使用jQuery开发了一个应用程序。这个应用程序在我的开发机器上运行良好。在服务器上发布此应用程序后,由于路径问题,jQuery无法工作 <script language="javascript" type="text/javascript" src='<%=ResolveClientUrl("~/scripts/jQueryv2.0.3.js") %>'></script> <%-- <link rel="stylesheet" t

我已经使用jQuery开发了一个应用程序。这个应用程序在我的开发机器上运行良好。在服务器上发布此应用程序后,由于路径问题,jQuery无法工作

   <script language="javascript" type="text/javascript" src='<%=ResolveClientUrl("~/scripts/jQueryv2.0.3.js") %>'></script>
 <%-- <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/redmond/jquery-ui.css" />--%>
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" href="css/common.css" />
<link rel="stylesheet" type="text/css" href="css/uploadfile.css" />
<link rel="stylesheet" type="text/css" href="css/jquery.plupload.queue.css" />
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/jquery-ui.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/grid.locale-en.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/jquery.jqGrid.min.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/common.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/jquery.uploadfile.min.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/ServiceCall.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/plupload.full.min.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/moxie.js") %>'></script>
<script type="text/javascript" src='<%=ResolveClientUrl("~/scripts/jquery.plupload.queue.js") %>'></script>

请参见下面的屏幕截图

我的网址是

查看详细视图后,我发现路径有所不同。 调试器中的路径:,它应为:或


CSS也是如此。

为什么不这样写CSS/js文件夹的完整路径

<script src="/path/to/scriptfolder/filename.js"></script>
<link rel="stylesheet" type="text/css" src="/path/to/cssfolder/filename.css"/>
-/
  -home/
  -contactus/
    -supportticket/
      -Default.aspx
      -script/
        -script.js
      -css/
        -style.css
其中
。/
表示浏览器应从当前目录上一级的目录请求文件

用法示例 示例如果您的网页是www.example.com,并且您的目录如下所示

<script src="/path/to/scriptfolder/filename.js"></script>
<link rel="stylesheet" type="text/css" src="/path/to/cssfolder/filename.css"/>
-/
  -home/
  -contactus/
    -supportticket/
      -Default.aspx
      -script/
        -script.js
      -css/
        -style.css
您可以从
www.example.com/contactus/supportticket/Default.aspx
调用脚本,然后可以这样编写脚本

<script src="/path/to/scriptfolder/filename.js"></script>
<link rel="stylesheet" type="text/css" src="/path/to/cssfolder/filename.css"/>
-/
  -home/
  -contactus/
    -supportticket/
      -Default.aspx
      -script/
        -script.js
      -css/
        -style.css
完整路径:

<script type="text/javascript" src="/contactus/supportticket/script/script.js"></script>

或当前页面的相对路径:

<script type="text/javascript" src="../script/script.js></script>

相对于default.aspx,文件夹
脚本
css
的实际位置在哪里?试试这个-
这两个文件夹位于虚拟目录的根目录上。说“/”是我的IIS路径,supportticket是我的web应用程序。所以路径变成了/supportticket/script和/supportticket/cssw为什么我要写像“/”或“../”这样的完整路径,我必须从虚拟目录的根引用脚本和css路径,而不是从IIS目录的根引用脚本和css路径。现在我完全迷路了。据我所知,当我们使用“~/”时,意味着它是应用程序/虚拟目录的根文件夹,而不是IIS根文件夹。写入完整路径对我来说似乎不符合逻辑,因为虚拟目录的名称可能会更改,因此我始终需要从虚拟目录的根目录中选择相对路径。上述脚本在servicecall.aspx文件中提到,该文件位于虚拟目录的根文件夹中。因此,'~/'应该考虑虚拟目录的根文件夹,因此路径变成/Script或/CSS,但它是指IIS的根文件夹。请参阅这个链接。这也说明了同样的问题。对不起,我不太了解虚拟目录路径,因为我通常将所有脚本和css文件放在我的应用程序的根目录中(如果我的网站是www.example.com,那么我的脚本文件将位于www.example.com/script/),如果我没有从这个链接中出错,它将导致相同的结果。你能告诉我更多关于你的目录吗