2011-07-04 3 views
2
var xmlReq, 
     xmlDoc; 

    xmlReq = new XMLHttpRequest(); 
    xmlReq.open("GET", filename, false); //synchronous GET 
    xmlReq.send(null); 

    xmlDoc = xmlReq.responseXML; 
    alert(xmlDoc); 

위의 코드를 사용하여 로컬 파일 시스템에서 XML을로드하려고합니다. 변수 filename은 상대 경로 (../Gfx/Sprite/test_sprite.xml)이며 로컬에서나 웹 서버에서 페이지를 실행할 때 모두 작동합니다. xmlReq.responseXML/xmlReq.responseText가 null을 반환하는 것을 볼 수 있습니다. ...Javascript parse xml (로컬 파일)

여기서 내가 뭘 잘못하고 있니?

+0

이 xmlDoc = xmlReq.responseXML을 사용해야한다고 생각합니다. 안으로 onreadystatechange 만 –

+0

시도하고 코드를 수정 (편집을 참조하십시오) 여전히 시가는 ... –

+0

하지만이 작동하지 않는 onreadystatechange를 사용하지 않고, 당신은 요청이 처리 될 때까지 기다려야 컨트롤을 의미하지 않는 비동기 요청을하고 있습니다 이 요청의 상태 변경을 확인하기 위해 이벤트 리스너를 바인드해야합니다. 그래서 오래된 것으로 교체하십시오. –

답변

1

Webkit은 로컬 파일 시스템에서 AJAX 요청을 허용하지 않습니다.

+0

XML 파일을로드 할 수있는 다른 방법이 있습니까? ? –

+0

일부 플래시를 사용하여 xml을 검색 할 수 있어야합니다. –