JQuery $ .getJSON未运行

时间:2015-01-27 01:04:58

标签: javascript jquery html json getjson

我是J Query初学者。需要一些$ .getJSON函数的帮助。我正在尝试使用此功能从外部服务器检索数据,但是当我运行它时,我什么也得不到。我经历了无数的教程。继承我的代码样本......

    <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function(){
        var url='https://api.flightstats.com/flex/airports/samples/v1/lts/Airport_response.json';
        $('#button').click(function(){
            $.getJSON(url,function(json){
                $("#results").append(json.airport.name);
            });     
        });
    });
    </script>


</head>
<body>
    <input type="button" id="button" value="Go">
    <div id="results"></div>

</body>

并且继承了JSON文件内容..

{
"airport":
        {
    "fs":"PDX",
    "iata":"PDX",
    "icao":"KPDX",
    "faa":"PDX",
    "name":"Portland International Airport",
    "street1":"7000 NE Airport Way",
    "city":"Portland",
    "cityCode":"PDX",
    "stateCode":"OR",
    "postalCode":"97218",
    "countryCode":"US",
    "countryName":"United States"
        }

        }

我只想抓住这个名字&#39;内容。 $ .getJSON是正确的函数还是应该使用$ .ajax或$ .get? 感谢

1 个答案:

答案 0 :(得分:0)

这里的问题是.getJSON无法返回该网址的数据。

  

阻止跨源请求:同源策略禁止在https://api.flightstats.com/flex/airports/samples/v1/lts/Airport_response.json读取远程资源。这可以通过将资源移动到同一域或启用CORS来解决。

如果您控制网站flightstats.com,您可以为此添加必要的标题。如果你不想,你可能想要创建一个轻量级的服务器端提取,以使用适当的CORS响应显示必要的json。

有关我可以轻松放入有关CORS的stackoverflow页面的更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS