我正在尝试解析像这样的Google日历Feed:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p id="entries"></p>
<script>
$(document).ready(function(){
$.ajax({
url: 'http://www.google.com/calendar/feeds/339if8qgnu8pic5a2ru4moe5m0%40group.calendar.google.com/public/full',
dataType: 'xml',
success: parseXML
});
function parseXML(xml){
$(xml).find('entry').each( function() {
$('#entries').append($(this).find('title').text() + '<br />')
});
}
});
</script>
</body>
</html>
但它找不到任何元素。我究竟做错了什么?用简单的XML文件尝试了相同的代码......
答案 0 :(得分:1)
当我自己测试时,它似乎找不到任何元素,因为请求没有返回任何数据。由于关于无效编码的评论,我当然认为我遗漏了一些内容......但是,我下载了 XML文档并将其保存在您提供的HTML文件旁边,进行了以下更改:
url: 'full.xml',完成此操作后,(对我而言)段落元素现在填充了可以在您定位的XML中看到的两个条目。当然这是因为跨域策略和什么不是?
jquery.xdomainajax.js
的文件,它允许跨域AJAX请求。我现在正在寻找消息来源,但我想我会赶紧发布这篇文章,以便你可以自己搜索一下。
周一:我使用的是FireFox 12.0