我是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? 感谢
答案 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