我一直试图让下面的代码工作,但我没有运气。我无法弄清楚我做错了什么。我想要做的就是从链接中读取警报并将它们发布到列表中。我尝试了两种方法但两种方法都没有产生任何结果。有人可以指点我正确的方向吗?谢谢你的时间。
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
FIRST METHOD
<script>
$.get('http://www.wmata.com/rider_tools/metro_service_status/feeds/rail_Advisories.xml?',
function (data)
{
$(data).find("item").each(function ()
{
var el = $(this);
console.log("Title");
});
});
</script>
SECOND METHOD
<script>
$.ajax({ url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent('http://www.wmata.com/rider_tools/metro_service_status/feeds/rail_Advisories.xml?'),
dataType : 'json',
success : function (data) {
if (data.responseData.feed && data.responseData.feed.entries) {
$.each(data.responseData.feed.entries, function (i, e) {
console.log("Title");
});
}
}
});
</script>
</html>
答案 0 :(得分:1)
由于ajax调用的跨域性质,请使用 jsonp 作为数据类型:
$.ajax({
url: 'http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent('http://www.wmata.com/rider_tools/metro_service_status/feeds/rail_Advisories.xml?'),
dataType : 'jsonp',
success : function (data) {
console.log(data.responseData.feed.entries);
$.each(data.responseData.feed.entries, function (i, e) {
console.log(e.content);
$(".result").append("<p>" + e.content + "</p>");
});
}
});
这是一个有效的 DEMO