Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery阅读RSS提要?_Jquery_Jquery Plugins_Rss_Xml Parsing_Rss Reader - Fatal编程技术网

使用jQuery阅读RSS提要?

使用jQuery阅读RSS提要?,jquery,jquery-plugins,rss,xml-parsing,rss-reader,Jquery,Jquery Plugins,Rss,Xml Parsing,Rss Reader,使用jQuery rss插件,并使用他们网站上的示例代码,我创建了以下代码,但似乎不起作用: jQuery.getFeed({ url: 'http://www.hotukdeals.com/rss/hot', success: function(feed) { alert(feed.title); } }); 我收到一条信息说: XMLHttpRequest cannot load http://www.hotukdeals.com/rss/hot.

使用jQuery rss插件,并使用他们网站上的示例代码,我创建了以下代码,但似乎不起作用:

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提要在我的桌面和在线rss阅读器中运行良好…

您的失败是因为使用了JavaScript,这基本上限制了您可以从中检索和操作文件的位置

通常,您无法从与当前页面不同的位置检索内容(在您的情况下是rss提要)。例外情况只是图像和脚本


因此,在您的情况下,一个解决方案可能是在服务器上设置一个代理脚本,它只调用RSS提要并将结果转发到您的页面。从浏览器的角度来看,所有内容都来自同一来源。

警告

已正式弃用且不再有效

不用插件就可以很容易地完成,返回的数据是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文件并将url更改为url Rss提要,

这个问题让我难以置信。新闻提要不是专门用来从其他域读取的吗?为什么浏览器会阻止此操作?如果web浏览器不允许阅读,为什么网站甚至提供RSS源?如果你使用的是Chrome,请尝试我刚刚发布的扩展,它可以让你从跨域获取源,而不存在任何相同的源代码策略问题。我在所有浏览器中都试用过,似乎效果很好……@AmanVirk您正在使用代理脚本生成JSONP请求。只要这个谷歌api在线,它就可以正常工作,但如果没有它,它就会失败。@AmanVirk。我不同意,我认为如果我在自己的服务器上开发自己的代理脚本,该服务器比谷歌api更可能脱机。。。所以我认为使用GoogleAPI对我来说更可靠,尤其是因为我没有太多的时间,尤其是这个RSS提要并不重要。所以,时不时地让所有人离线并不是什么大不了的事。@Sirko。我不同意,我认为如果我在自己的服务器上开发自己的代理脚本,该服务器比谷歌api更可能脱机。。。所以我认为使用GoogleAPI对我来说更可靠,尤其是因为我没有太多的时间,尤其是这个RSS提要并不重要。所以,时不时地让所有人离线并不是什么大不了的事。@oshirowanen在我看来,我试图用我的页面尽可能独立于国外服务。但是,这取决于特定的用例。使用这种技术,我们如何接收每个rss块中的其他元素值,如、?有可能吗?这将只加载google希望读取的默认元素,但我的rss文件有自定义元素名称…我尝试过这样做,在成功:function(data)中,它只搜索和加载以下元素-。但它并不是在这个rss块中加载、查找或任何其他自定义元素,当您查看实际的rss文件本身时,就会看到这些元素。只是想寻找一些想法……我可以有一个到你的rss提要的链接吗?就是这样-google提要api已经被弃用,并于2015年12月2日关闭