当参数传递数在url中增加时,js文件没有加载 - c#

时间:2014-11-10 06:47:58

标签: c# jquery html asp.net

我在Index.aspx中创建了一个链接到母版页的按钮。

在母版页

<link rel="stylesheet" href="css/bootstrap-theme.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script  type="text/javascript" src="js/bootstrap.min.js"></script>    
<script type="text/javascript" src="js/lay.js"></script>

在lay.js

$(document).ready(function () {
   $("#a").click(function () {
       window.location = "hello.aspx/dhc/12/po";
   });
});

Hello.aspx页面加载时出现以下错误:

Resource interpreted as Script but transferred with MIME type text/html:     "http://localhost:64173/hello.aspx/c/js/jquery-1.11.1.min.js". 12:9
Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:64173/hello.aspx/c/js/bootstrap.min.js". 12:10
Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:64173/hello.aspx/c/js/lay.js". 12:11
Uncaught SyntaxError: Unexpected token < jquery-1.11.1.min.js:3
Uncaught SyntaxError: Unexpected token < bootstrap.min.js:3
Uncaught SyntaxError: Unexpected token < 

我犯了什么错误?

如果我添加

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

然后它可以工作,但是如果我将参数数量从3增加到4,那么我必须再添加额外的点(相对路径)到达那里。我们怎样才能使它独立于传递的参数数量。

TIA

2 个答案:

答案 0 :(得分:1)

更改CSS和JS链接以使用绝对路径而不是相对路径:

<link rel="stylesheet" href="/css/bootstrap-theme.min.css" />

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

前导/表示虚拟服务器的根,因此独立于当前脚本的执行位置。

答案 1 :(得分:0)

<script type="text/javascript" src="<%=ResolveClientUrl("~/js/")%>jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="<%=ResolveClientUrl("~/js/")%>bootstrap.min.js"></script>
<script type="text/javascript" src="<%=ResolveClientUrl("~/js/")%>lay.js"></script>

以上代码有效。