2010-01-01 1 views
1

Привет там (& С Новым Годом!)Как использовать JQuery для получения XML из удаленного REST API?

Есть несколько примеров о том, как я могу использовать JQuery, чтобы получить XML из удаленного REST API и просто отображать XML? Мне просто нужно немного помочь, чтобы все наладилось.

Запрос детали:

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); } 
); 

EDIT: По соображениям безопасности, вы не можете использовать AJAX, чтобы получить данные из другого домена. Поэтому вам нужно будет написать сценарий на стороне сервера, чтобы получить данные из другого домена, а затем вызовите это с помощью $.get.

+0

По какой-то причине он не отображает данные. Я попробовал его с другим внешним URL-адресом, и он тоже не работал. $ .get ('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Earth%20Day',функция (данные) {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: данные Тип: PlainObject или String Данные для отправки на сервер. Он преобразуется в строку запроса, если не является уже строкой. Он добавляется к URL-адресу для запросов GET. См. Параметр processData для предотвращения этой автоматической обработки. Объектом должны быть пары «ключ/значение». Если значением является массив, jQuery сериализует несколько значений одним и тем же ключом на основе значения традиционной настройки –

 Смежные вопросы

  • Нет связанных вопросов^_^