我为播客提供了一个rss提要,基本上我想做的是在RSS提要中使用URL填充html5音频播放器。
我认为最好的方法是使用ajax解析链接,然后将其附加到音频播放器的src中。我知道相同的域策略会阻止我使用ajax进行此操作,因此我正在使用跨域ajax插件(http://bit.ly/Jbi9iX)来解决此问题。
我竭力要弄清楚究竟为什么下面的代码不工作对我来说,基本上在这个阶段,我只是想追加urlRSS提要入内的#results,以表明它的工作,那么我将它添加到src的一部分音频播放器。
url
#results
src
$(document).ready(function () { $.ajax({ url: 'http://theresidency.libsyn.com/rss', type: 'GET', dataType: "xml", success: parseXml }); }); function parseXml(xml) { var item = $(xml).find("item"); $(item).each(function() { $("#results").append($("enclosure").attr("url").text() + "<br />"); }); }
我在chrome开发工具中没有遇到任何错误,并且查看了其他示例,但可以弄清楚自己在做错什么。
这是xml / rss的示例:http : //pastebin.com/stuY495c 这是我到目前为止已上传的内容:http : //bit.ly/J9QHZc
任何帮助将不胜感激,所以在此先感谢!
您将数据传递到函数的确切位置,我认为您需要这样做:
$(document).ready(function () { $.ajax({ url: 'http://theresidency.libsyn.com/rss', type: 'GET', dataType: "xml", success: function(data) { parseXml(data); } }); }); function parseXml(xml) { var item = $(xml).find("item"); $(item).each(function() { $("#results").append($("enclosure").attr("url").text() + "<br />"); }); }
要不就:
$(document).ready(function () { $.ajax({ url: 'http://theresidency.libsyn.com/rss', type: 'GET', dataType: "xml" }).done(function(xml) { $.each($("item", xml), function(i, e) { $("#results").append($("enclosure").attr("url").text() + "<br />"); }); }); });
编辑:
对此做了更多摆弄,并想出了:
$(document).ready(function () { $.ajax({ url: 'http://query.yahooapis.com/v1/public/yql?q=%20SELECT%20*%20FROM%20xml%20WHERE%20url%3D%22http%3A%2F%2Ftheresidency.libsyn.com%2Frss%22&format=json&callback=', dataType: "json" }).done(function(data) { $.each(data.query.results.rss.channel.item, function() { $("#results").append(this.enclosure.url + "<br />"); }); }); });
我确实相信这是您想要的,这是一个 演示