첫째, 내가 당신에게 폴더 구조를 보여주지 :어떻게 서로 다른 디렉토리에서 아약스 작동합니까?
public_html[]
|_ project_folder[]
|_another_folder[]
|_xml_folder[]
|_xmlfile.xml
|_ js_folder[]
|_javascriptfile.js
|_ file.html
|_ file2.html
나는 문서로드에 대한 몇 가지 file.html과 및 file2.html 부하 사용 jQuery를 아약스 있습니다. 나는에 HTML 파일을 이동할 때 HTML 파일이 파일 (그들은 지금 다만 방법) 이제
의 루트 디렉토리에 발견되면
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "xml/xmlfile.xml",
dataType: "xml",
...
...
...
}
이 작품을 잘 : Ajax는이 코드를 사용 폴더 (예 : file2.html을 another_folder로 이동)하면 xml 파일을로드하는 것이 더 이상 작동하지 않습니다. src \ "js/javascriptfile.js"에서 src = \ "../ js/javascriptfile.js"로 필요한 HTML 태그를 변경했습니다.
내가 변경하지 않은 것은 javascript 파일의 "url"입니다. 그리고 XML은 자신의 디렉토리 (another_folder/xml/xmlfile.xml)에있는 XML 파일을 찾고 XML 파일이있는 루트 디렉토리가 아니라 XML 파일을로드하려고하기 때문에로드되지 않습니다.
제 질문은이 문제를 피하기 위해해야 할 일은 무엇입니까?
하고, 문제는 내가 HTML 파일을 어디에 두는 지 신경 쓰지 않기를 원했기 때문에 문서 루트에있는 디렉토리에 배치 할 수 있습니다 (때로는 약 3-4 개의 폴더가 적음). 현재 URL을 얻는 방법에 관해서도 시도해 보았습니다. 그러나 현재 URL을 비교할 무언가가있을 수 있도록 파일의 홈 디렉토리를 얻는 방법은 무엇입니까? 예 : 현재 파일은 "public_html/project_folder/another_folder/another_sub_folder/file2.html"에 있습니다. 어떻게 그 중에서 "project_folder"를 얻을 수 있습니까? 파일이 1dir보다 낮 으면 어떻게 될까요? – Nikko