如何使用JavaScript(外部域)解析RSS源?

I a*_*son 9 javascript xml rss jquery

题

我需要解析RSS提要并在HTML页面中显示已解析的详细信息.

找到的解决方案

如何使用JavaScript解析RSS源?是一个非常相似的问题,我遵循它.

使用上面的问题,我构建了以下代码.

 <script>
  $(document).ready(function() {
    //feed to parse
    var feed = "https://feeds.feedburner.com/raymondcamdensblog?format=xml";

    $.ajax(feed, {
        accepts:{
            xml:"application/rss+xml"
        },
        dataType:"xml",
        success:function(data) {
            //Credit: http://stackoverflow.com/questions/10943544/how-to-parse-an-rss-feed-using-javascript

            $(data).find("item").each(function () { // or "item" or whatever suits your feed
                var el = $(this);
                document.write("------------------------");
                document.write("title      : " + el.find("title").text());
                document.write("link       : " + el.find("link").text());
                document.write("description: " + el.find("description").text());
            });


        }   
    });

});
</script>
Run Code Online (Sandbox Code Playgroud)

错误

无法加载 https://feeds.feedburner.com/raymondcamdensblog?format=xml:请求的资源上没有"Access-Control-Allow-Origin"标头.原产地" :HTTP //本地主机,因此"是不允许访问.

我需要的

如何更改我的代码以使用JavaScript读取RSS源而不会出现上述错误?

Sae*_*eed 7

您可以使用类似https://rss2json.com 的内容。它将 feed 解析为 JavaScript 的 json:

var feedURL = "https://feeds.feedburner.com/raymondcamdensblog?format=xml";
$.ajax({
  type: 'GET',
  url: "https://api.rss2json.com/v1/api.json?rss_url=" + feedURL,
  dataType: 'jsonp',
  success: function(result) {
    console.log(result);
  }
});
Run Code Online (Sandbox Code Playgroud)