如何使用JQuery从远程REST API获取XML?

时间:2010-01-01 17:06:46

标签: javascript jquery xmlhttprequest

你好(和新年快乐!)

是否有一些关于如何使用JQUERY从远程REST API获取XML并只显示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>jpublic24583@pop.net</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> 

2 个答案:

答案 0 :(得分:7)

使用jQuery.get方法。

例如:

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

编辑:出于安全原因,您无法使用AJAX从其他域获取数据。因此,您需要编写服务器端脚本以从其他域获取数据,然后使用$.get调用该数据。

答案 1 :(得分: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>

技巧不是使用“数据”参数(就像你想的那样......以及互联网上其他人告诉你的事情)。请记住,这很快又很脏。