使用jQuery阅读RSS提要

问题描述:

我试图用他们的RSS提要和jQuery显示我最新的stumbleupon项目的标题。 我所拥有的功能是:使用jQuery阅读RSS提要

function get_stumbleupon() { 
    $.get("http://rss.stumbleupon.com/user/fredkelly/", function(data) { 
     alert(data.title); 
    }, "xml"); 
} 

它返回没什么......我只是单纯的想获得关于饲料中的最新项目信息的数位 - 我该怎么办呢?

Here's a tutorial关于如何使用JQuery跨域ajax。

+0

在该教程请务必按照链接到“通用RSS到JSON转换器”。 – Josh 2010-12-01 15:20:26

正如前面的海报(Waage)提到的,你可能正在做一些跨站脚本,这是大多数浏览器的安全违规。你需要做的是创建某种传递(客户打电话给你的网站,你的网站下载另一个网站的内容,并将其返回给客户端)。

无论您使用哪种服务器后端,这通常都很容易。它还使您能够对其他人的数据执行一些高级功能,例如缓存。

+1

对于那些不熟悉理查德解决方案的人来说,这基本上就是所谓的“代理服务器”。 – jmort253 2011-01-07 21:43:15

ÓlafurWaage给出了一个很好的跨站点请求主题,但还有另一个帖子实际上更符合您的Cross Site RSS reading问题。

这里是我的小脚本:

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
jQuery.ajax({ 
    url: "/feed.xml", // RSS url 
    success: function(msg){ 
    jQuery('#blip').html(''); // where to put RSS 
    jQuery('entry',msg).slice(0,3).each(function(){ // slice: get only first 3 posts 
     var html = '<div>'; 
     var upd = jQuery('updated', this).text().replace(/[TZ]/g, ' '); 
     var upd = jQuery.trim(jQuery('updated', this).text()); 
     upd = upd.replace(/-/g,"/").replace(/T/," ").replace(/Z/," UTC"); 
     upd = upd.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2"); 
     updf = new Date(upd).toLocaleString(); 
     html += '<p class="post_date">' + updf + '</p>'; 
     html += '<div class="post_content"><span>' + jQuery('content', this).text() + '</span></div>'; 
     html += '</div>'; 
     jQuery(html).appendTo('#blip'); 
    }); 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown);} 
}); 
}); 
</script>