2014-01-15 9 views
0

URL에서 XML을 검색하고 변수 에 저장하려고합니다.URL이 포함 된 XML http 요청

나는 다음과 같은 한 :

if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp=new XMLHttpRequest(); 
      } else {// code for IE6, IE5 
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 

      xmlhttp.open("GET","localhost:8080/rest/xml",false); 
      xmlhttp.send(); 
      xmlDoc=xmlhttp.responseXML; 

하지만 XML 파일을 받고 있지 않다, 내가 추가해야 할 일이 무엇입니까?

+1

당신은 아마 몇 가지 예를 보일 것입니다 당신이 수신 할 수 있도록, 아약스 요청은 비동기입니다 응답을 캡처하는 onreadystate 이벤트 – adeneo

+0

[다음은 예제입니다.] (http://www.quirksmode.org/js/xmlhttp.html) – Andy

답변

2

open 방법이 동기를 요청하는 마지막 false 파라미터로서 전달된다. OP의 원래 코드는 URL을 제외하고 올바른 것입니다. 현재 페이지의 프로토콜의 URL 불가지론 만들고 싶어

xmlhttp.open("GET","http://localhost:8080/rest/xml",false); 

는 또는 :

xmlhttp.open("GET","//localhost:8080/rest/xml",false); 
+0

안녕하세요 그렉, 나는 지역에서 테스트하고있었습니다. 이제 사용자가 이전에 업로드 한 URL로 테스트하고 있습니다. (cdn.florianbussmann.de/stackoverflow/21140602_catalog.xml). 나는 그것의 "//"를 추가했다. 아직도 일을하지 못했습니다. XML 파일을 내 폴더에 저장하고 방금 "21140602_catalog.xml"이라는 이름으로 호출하면 로컬에서 올바르게 작동합니다. – PhoonOne

+0

동일 도메인 정책에 맞서 머리를 쓰고있을 수 있습니다. 현재 웹 페이지가있는 것과 동일한 도메인에있는 URL에만 AJAX 요청을 할 수 있습니다. 그 이유는 로컬에서는 작동하지만 다른 URL에서는 작동하지 않는 이유 일 수 있습니다. –

+0

알겠습니다. 코드가 .XML 파일과 동일한 도메인에 업로드되면 액세스 할 수 있습니까? – PhoonOne

0

송신하기 전에 이와 같이 콜백을 첨부하십시오.

xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     xmlDoc=xmlhttp.responseText; 
     }else if (xmlhttp.readyState==4 && xmlhttp.status != 200) 
     { 
     alert("error-" + xmlhttp.responseText); 
     } 
     } 
+0

보내기 전에 시도했으나 여전히 작동하지 않았습니다 – PhoonOne

+0

왜 동기를 사용 하시겠습니까 ?? 왜 비동기가 아니겠습니까? –

+0

비동기를 사용할 수 있습니까? 동기화를 게시 한 코드입니까? – PhoonOne