首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript文件的相对urls

Javascript文件的相对urls
EN

Stack Overflow用户
提问于 2008-09-20 17:44:48
回答 4查看 11.6K关注 0票数 18

我在javascript文件中有一些代码,需要将查询发送回服务器。问题是,我如何找到我所在的脚本的url,这样我就可以为ajax构建一个合适的请求url。

也就是说,相同的脚本包含在//help/whatever等等上,而它总是需要向/data.json请求。此外,同一站点运行在不同的服务器上,/-folder可能放置在不同的服务器上。我有办法解析包含Javascript (ez-publish模板)的相对url,但不是在javascript文件本身内。

有没有可以在所有浏览器上运行的小脚本?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-09-20 18:08:21

为此,我喜欢将<link>元素放在页面的<head>中,其中包含用于请求的URL。它们可以由您的服务器端语言生成,因此它们总是指向正确的视图:

代码语言:javascript
复制
<link id="link-action-1" href="${reverse_url ('action_1')}"/>

变成了

代码语言:javascript
复制
<link id="link-action-1" href="/my/web/root/action-1/"/>

并且可以通过Javascript使用以下命令进行检索:

代码语言:javascript
复制
document.getElementById ('link-action-1').href;
票数 23
EN

Stack Overflow用户

发布于 2008-09-20 17:46:51

document.location.href将提供当前的URL,然后您可以使用JavaScript的字符串函数对其进行操作。

票数 3
EN

Stack Overflow用户

发布于 2008-09-20 18:13:50

客户端不可能在没有服务器告知的情况下确定webapp根目录,因为它不知道服务器的配置。您可以尝试在head元素中使用base元素,让服务器动态生成它,而不是硬编码它(这样它就会显示每个服务器的相关URL ):

代码语言:javascript
复制
<base href="http://path/to/webapp/root/" />

然后,所有URL都将被视为与此相关。因此,您只需向/data.json发出请求即可。但是,您需要确保应用程序中的所有其他链接都牢记这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/108853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档