Fred
Fred

Reputation: 1031

Reading RSS feed using jQuery

I'm trying to show the title of my latest stumbleupon item using their RSS feed and jquery. The function I have is:

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

Which returns nothing... I just simply want to get a few bits of info about the single latest item in the feed - how can I do this?

Upvotes: 4

Views: 15728

Answers (4)

hegemon
hegemon

Reputation: 6764

Here is my little script:

<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>

Upvotes: 1

Uzbekjon
Uzbekjon

Reputation: 11813

Ólafur Waage gave a good cross site request topic, but there is also another post that actually fits better with your Cross Site RSS reading problem.

Upvotes: 1

Richard Clayton
Richard Clayton

Reputation: 7562

As the previous poster (Waage) mentioned, you are probably doing some Cross-site Scripting which is a security violation on most browsers. What you need to do is create some kind of pass through (the client makes a call to your site, your site downloads another site's content, and returns it to the client).

This is usually pretty easy regardless of whatever server backend you use. It also enables you to do some advanced features with other people's data, like caching.

Upvotes: 0

&#211;lafur Waage
&#211;lafur Waage

Reputation: 70001

Here's a tutorial on how to do Cross domain ajax with JQuery.

Upvotes: 4

Related Questions