用jQuery阅读RSS feed?

时间:2012-07-05 14:57:11

标签: jquery jquery-plugins rss xml-parsing rss-reader

使用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阅读器中运行良好......

2 个答案:

答案 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源并将结果中继到您的页面。从浏览器的角度来看,所有内容都来自同一个来源。