繁体   English   中英

jQuery调用XML Web服务

[英]JQuery calling XML webservice

我正在尝试使用webservices练习jquery,并尝试从美国机场打开xml服务。

网络服务网址为http://services.faa.gov/airport/status/IAD?format=application/xml

和我的查询代码如下,但是当页面加载时,它显示了一个空屏幕:(有人可以帮我。我在线搜索,无法查明。

<html>
<head>
    <script type="text/javascript" src="assets/jquery.js"></script>
    <title>Aviation</title>
    <script type="text/javascript">
        $(document).ready(function () {
        $.ajax({
        type: "GET",
        url: "http://services.faa.gov/airport/status/IAD?format=application/xml",
        dataType: "xml",
        success: xmlParser
        });
    });

    function xmlParser(xml) {

        $('#airport').fadeOut();
        $(xml).find("AirportStatus").each(function () {
        $("#details").append($(this).find("ICAO").text() + "</br>"+ $(this).find("State").text());
        //$(".book").fadeIn(1000);
        });
    }
    </script>
</head>
<body>
    <p id="airport">Loading...</p>
    <p id="details"></p>
</body>
</html>

谢谢您的时间。

由于受CORS的限制,您无法跨域访问数据,而且xml似乎存在一些格式问题,请尝试将json格式与dataType:'jsonp'一起使用

$.ajax({
        type: "GET",
        url: "http://services.faa.gov/airport/status/IAD?format=json",
        dataType: "jsonp",
    success: function(data){
        alert("asd");
    console.log(data);
    }
        });

http://jsfiddle.net/WxMXR/7/

当我在http://jsfiddle.net/QYQ4V/2/中执行js时出现错误

因为不允许使用ajax调用从其他域中获取数据...(除非使用JSONP或脚本数据类型..)JSONP: http : //en.wikipedia.org/wiki/JSONP

因此,这意味着您可以使用其他语言(python / ruby​​ / java)来获取数据并使用jquery来获取同一域中的数据,而不是在jQuery中使用XHR($。ajax)。

FYI

服务器端返回xml和响应http头'Content-Type'='application / xml',应为'text / xml',

和使用“ application / xml”的低级XMLHttpRequest,从而发生冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM