这是我非常困惑的事情,希望我能在这里解释清楚。
我有一个位于c:/rootFolder/common/js/jsfile.js的js文件。在这个文件中,我使用一个AJAX函数来调用rootFolder中的文件,名为update.aspx,如下所示:
...
...
httprequest.open("GET", "update.aspx", true);
...
我在许多级别的文件夹中都有许多文件可以调用此函数。如果文件c:/rootFolder/abc/abc.aspx调用此函数,那么上面的AJAX将是:
httprequest.open("GET", "../update.aspx", true);
所以我需要一种方法,以便我可以使路径相对更容易从任何aspx调用该函数。我也在为这个项目使用cookieless会话,因此URL就像
http:// localhost / S(abssadasdadd ...
答案 0 :(得分:0)
经过一段时间的搜索,我开始怀疑应该有一些html或服务器可能会作为基础。因此,我通过在页面顶部添加基本标记来解决问题,特别是在HEAD标记中。
<base href="www.abc.com" />
但是,我正在使用cookie会话,它将会话ID放在URL中。我如何将其添加到基础上(否则,它仍然无效)?简单的答案如下:
string baseurl= "http://" + servername + "/(S(" + HttpContext.Current.Session.SessionID + "))";
如果您有一个主文件,您可以将基础置于头部:
<base href="<%=baseurl%>" />
如果有这些,您将轻松调用您的css和js文件:
<link type="text/css" href="common/css/style.css" rel="stylesheet" />
<script type="text/javascript" src="common/js/jscript.js"></script>