[英]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/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.