假设http://example.com/js/script.js
针对某些相对URL触发AJAX请求,如何获取最终被请求的绝对URL?
例如,如果我从image.png
请求http://example.com/js/script.js
,我希望得到http://example.com/js/image.png
。但是,如果我从同一网址请求/image.png
,我希望能够返回http://example.com/image.png
。
这个问题很棘手有两个原因:
location.href
发布的。这简化了这种情况。XMLHttpRequest
会公开请求网址,更不用说它的绝对形式了。有什么想法吗?
答案 0 :(得分:1)
我不相信可以从里面获取脚本网址。
为此,只需使用location.href
从相对的网站获取绝对网址的快速破解可能是:
function getAbsoluteURL(relative) {
var a = document.createElement('a');
a.href = relative;
return a.href;
}
根据this question,它不能用于Ie6,但这真的很重要吗?