6

RSS を JSON に変換しようとしていますが、Chrome でコンソールを使用すると、このエラーが発生します

XMLHttpRequest はhttp://www.blastcasta.com/feed-to-json.aspx?feedurl=http://www.startalkradio.net/?page_id=354を読み込めません 。Origin null は、Access-Control-Allow-Origin では許可されていません。

jQuery:

$(document).ready(function() {
    var rss_url = "http://www.blastcasta.com/feed-to-json.aspx?feedurl=http://www.startalkradio.net/?page_id=354";

    $.ajax({
        type : 'GET',
        url : rss_url,
        succces : function(data) {
            $.each(data.rss, function(i, item) {
                $("#results").append('<ul>' + item.channel.item.description + '</ul>');

            });
        },
        dataType : 'json',
        async : true
    });

    function fetchRss(data) {
        $.each(data.rss, function(i, item) {
            $("#results").append('<ul>' + item.channel.item.description + '</ul>');

        });
    }

});
4

3 に答える 3

11

更新:この回答は、廃止されたGoogleFeedAPIの使用を提案しています。その他のオプションには、Superfeedr:RSSからJSONへの変換が含まれます

このエラーは、RSSファイルがサーバーにないために発生し、Access-Control-Allow-Originに違反しています。

RSSでクロスドメインの目的で使用されるこのプラグインを試してください。

http://jquery-howto.blogspot.com/2009/11/cross-domain-rss-to-json-converter.html

編集:

ライブラリのダウンロードリンク:

http://code.google.com/p/lomodroid/source/browse/src/functions/jquery.jgfeed.js

Twitterでのライブデモ:

http://jsfiddle.net/oscarj24/NbDWb/

質問で使用されたリンクを使用したライブデモ:

http://jsfiddle.net/oscarj24/NbDWb/3/

これにより、RSSがJSONに変換されます

<script src="jquery.js"></script>
<script src="jquery.jgfeed.js"></script>
<script>
$.jGFeed('http://twitter.com/statuses/user_timeline/26767000.rss',
  function(feeds){
    // Check for errors
    if(!feeds){
      // there was an error
      return false;
    }
    // do whatever you want with feeds here
    for(var i=0; i<feeds.entries.length; i++){
      var entry = feeds.entries[i];
      // Entry title
      entry.title;
    }
  }, 10);
</script>
于 2012-05-07T20:50:51.680 に答える
1

基本的にはとても簡単です。JavaScript /ブラウザで許可されていないため、そのURLを読み込むことはできません。(同一生成元ポリシーのため)。

スクリプト言語(PHPなど)などで行う必要がありますが、JavaScriptではできません

ソース(RSSの場所)にアクセスでき、オリジンを許可するヘッダーを追加できる場合を除きます

于 2012-05-07T20:50:40.603 に答える