相对文件路径

时间:2012-09-26 10:15:09

标签: ajax path

这是我非常困惑的事情,希望我能在这里解释清楚。

我有一个位于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 ...

1 个答案:

答案 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>