得到api的回应

时间:2013-08-07 05:53:50

标签: javascript xml api response

我有这个api

https://api.flightstats.com/flex/flightstatus/rest/v2/xml/route/status/LHR/MAN/arr/2013/08/06?appId=ID&appKey=KEY&hourOfDay=0&numHours=24&utc=false&maxFlights=5

以xml格式返回响应。这是一个示例响应。

<flightStatus>
<flightId>305133622</flightId>
<carrierFsCode>BA</carrierFsCode>
<flightNumber>1382</flightNumber>
<departureAirportFsCode>LHR</departureAirportFsCode>
<arrivalAirportFsCode>MAN</arrivalAirportFsCode>
<departureDate>
<dateLocal>2013-08-06T06:30:00.000</dateLocal>
<dateUtc>2013-08-06T05:30:00.000Z</dateUtc>
</departureDate>

我想以html显示航班号和到达时间。如何去做?

代码段来自响应;它不是来自我拥有的xml文件。

这就是我的尝试。

<script>
function getResponse()
        {


            $.ajax({
            type: 'POST',
            url: 'https://api.flightstats.com/flex/flightstatus/rest/v2/xml/route/status/LHR/MAN/arr/2013/08/06?appId=ID&appKey=KEY&hourOfDay=0&numHours=24&utc=false&maxFlights=5',
            data: {},
            dataType: 'xml',
            success: function(data) 
            { $("display").html(data); },
            error: function() { alert('something bad happened'); }
            });

        }    
</script>

2 个答案:

答案 0 :(得分:2)

$.ajax({
                type: "GET",               
               url: URL,               
                dataType: "jsonp",
               error: function (response) {           
                        alert('Error: There was a problem processing your request, please refresh the browser and try again');
                },
                success: function (response) {
            console.log(response);
               }
        });

我做了它,jsonp似乎是要走的路!!

感谢@Quentin @ Akki619的帮助

答案 1 :(得分:-3)

那里有很多解决方案。请在发布任何问题之前进行研究......现在这里是w3学校的一个很好的例子,可以帮助您入门。

w3schools Example

像这样......

var URL =" https://api.flightstats.com/flex/flightstatus/rest/v2/xml/route/status/LHR/MAN/arr/2013/08/06?appId=ID&appKey=KEY&hourOfDay=0&numHours=24&utc=false&maxFlights=5";

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",URL,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;