2010-01-01 2 views
1

하이 (& 새해 복 많이 받으세요!)JQuery를 사용하여 원격 REST API에서 XML을 가져 오는 방법은 무엇입니까? 이

내가 원격 REST API와 XML을 얻을 그냥 XML을 표시하는 jQuery를 사용하는 방법에 대한 몇 가지 사례가 있습니까? 나는 물건을 가지려면 약간의 도움이 필요합니다.

요청 세부 사항 :

https://{username}:{password}@api.opsourcecloud.net/oec/0.9/myaccount 

응답 세부 사항 :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ns3:Account xmlns:ns2="http://oec.api.opsource.net/schemas/organization" .. >  
<ns3:userName>rdyer</ns3:userName> 
    <ns3:fullName>Joe Public</ns3:fullName> 
    <ns3:firstName>Joe</ns3:firstName> 
    <ns3:lastName>Public</ns3:lastName> 
    <ns3:emailAddress>[email protected]</ns3:emailAddress> 
    <ns3:orgId>1831c1a9-9c03-44df-a5a4-f2a4662d6bde</ns3:orgId> 
    <ns3:roles> 
     <ns3:role> 
      <ns3:name>primary administrator</ns3:name> 
     </ns3:role> 
    </ns3:roles> 
</ns3:Account> 

답변

7

사용 jQuery.get 방법. 예를 들어

:

$.get(
    'https://{username}:{password}@api.opsourcecloud.net/oec/0.9/myaccount', 
    function(data) { alert(data); } 
); 

편집 : 보안상의 이유로, 다른 도메인에서 데이터를 얻을 수 AJAX를 사용할 수 없습니다. 따라서 다른 도메인의 데이터를 가져 오는 서버 측 스크립트를 작성한 다음 $.get을 사용하여 호출해야합니다.

+0

무엇인가의 이유로 데이터를 표시하지 않습니다. 다른 외부 URL을 사용해 보았지만 작동하지 않았습니다. $ .get ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Earth%20Day',function (data) {alert ("DATA LOADED :"+ data) ;}); 이유가 무엇입니까? – Simon

+0

나를 위해 시간 초과로 인해 데이터를 표시하지 않았습니다. 나는이 문제를 어떻게 해결할 지 아직 알지 못했다. – Anton

0

그냥 REST 서비스의 결과를 표시 할 당신이 형식 또는 아무것도 걱정을하지 않는 경우, 이것은 당신이 할 수있는 것입니다 :

 <script> 
     .... 

     $.ajax('<your_rest_service_url>', { 
      dataType:'xml', 
      data:{}, 
      type:'GET', 
      success:function(data, status, response) { 
       var tmp=response.responseText; // THIS IS THE TRICK 
       $('#result').text(tmp); 

     .... 
     </script> 

     <span id="result"></span> 

트릭은 "데이터"를 사용되지 않습니다 매개 변수 (당신이 가정하고있는 것처럼 ... 그리고 인터넷의 다른 모든 사람들이 당신에게해야 할 말). 단지 빠르고 더러운 것을 기억하십시오.

+0

data 속성은 JQuery API에 따라 응답을 처리하지 않는 서버로 데이터를 보내기위한 것입니다. 데이터 유형 : 일반 개체 또는 문자열 서버에 보낼 데이터입니다. 아직 문자열이 아니면 쿼리 문자열로 변환됩니다. 그것은 GET 요청에 대한 URL에 추가됩니다. 자동 처리를 방지하려면 processData 옵션을 참조하십시오. 개체는 키/값 쌍이어야합니다. value가 Array 인 경우 jQuery는 기존 설정의 값을 기반으로 동일한 키를 사용하여 여러 값을 직렬화합니다. –

관련 문제