2012-12-26 3 views
0

http://example.com/js/script.js은 상대 URL에 대한 AJAX 요청을 발생 시키므로 요청한 절대 URL을 어떻게 얻습니까?XMLHttpRequest에서 절대 URL을 가져 오는 중입니까?

예를 들어 image.pnghttp://example.com/js/script.js에서 요청하면 http://example.com/js/image.png으로 돌아갈 예정입니다. 그러나 동일한 URL에서 /image.png을 요청하면 http://example.com/image.png으로 돌아갈 것으로 예상됩니다.

이 질문은 두 가지 이유가 까다 롭습니다 :

  1. 나는 그것을 내부에서 스크립트의 URL을 얻을 수있어 생각하지 않는다. 업데이트 : AJAX 요청이 스크립트 위치와 관련하여 발급되었다고 잘못 추측했습니다. 그들은 location.href을 기준으로 발급되었습니다. 이것은 상황을 단순화합니다.
  2. 나는 그 절대 형태는 말할 것도없고, XMLHttpRequest이 요청 URL을 노출한다고 생각하지 않습니다.

아이디어가 있으십니까?

답변

1

내부에서 스크립트의 URL을 가져올 수 있다고 생각하지 않습니다.

function getAbsoluteURL(relative) { 
    var a = document.createElement('a'); 
    a.href = relative; 
    return a.href; 
} 

this question에 따르면이 IE6에서 작동하지 않을 수 있지만 작업을 수행합니다

이를 위해, 간단하게 할 수있는 상대 하나에서 절대 URL을 얻을 location.href

빠른 해킹을 사용 정말 중요해?

관련 문제