使用jQuery rss插入jFeed,并在他们的网站上使用他们的示例代码,我创建了以下似乎不起作用的代码:
jQuery.getFeed({
url: 'http://www.hotukdeals.com/rss/hot',
success: function(feed) {
alert(feed.title);
}
});
我收到一条消息说:
XMLHttpRequest cannot load http://www.hotukdeals.com/rss/hot. Origin http://intranet is not allowed by Access-Control-Allow-Origin.
任何人都知道我为什么会收到此访问控制消息?这个rss feed在我的桌面和在线RSS阅读器中运行良好......
答案 0 :(得分:31)
警告强>
The Google Feed API正式已弃用且不再有效!
没有插件就可以轻松完成,返回的数据将在json
中 $(function(){
url = 'http://www.thetutlage.com/rss.xml';
$.ajax({
type: "GET",
url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=1000&callback=?&q=' + encodeURIComponent(url),
dataType: 'json',
error: function(){
alert('Unable to load feed, Incorrect path or invalid feed');
},
success: function(xml){
values = xml.responseData.feed.entries;
console.log(values);
}
});
});
只需确保它指向 xml 文件并将网址更改为网址Rss Feed,
答案 1 :(得分:1)
由于same origin policy JavaScript导致您失败,这基本上限制了您可以从中检索和操作文件的位置。
通常,您无法从与当前页面不同的位置检索内容(在您的情况下为rss Feed)。例外只是图像和脚本。
因此,您的案例中的一个解决方案可能是在您的服务器上设置代理脚本,该脚本只调用RSS源并将结果中继到您的页面。从浏览器的角度来看,所有内容都来自同一个来源。