2009-10-13 38 views
4

我在谷歌(博客)上有博客,我想从外部网站获取json数据以便整合到我的帖子中。 我用jQuery库和getJson函数来检索json数据,但没有任何返回。博客jquery电话

Blogger限制任何jQuery外部调用? 有什么想法? 谢谢

+0

plz发布您的代码 – jantimon 2009-10-13 10:26:05

+0

您无法进行跨域AJAX调用 – ErsatzRyan 2009-10-13 18:06:36

回答

7

你可以看看http://code.google.com/apis/gdata/docs/json.html的信息。但是,看看jQuery使用的JSONP模式,你会看到如何去做。例如,以下代码显示了如何从Blogger API获得评论供稿:

var BloggerImporter = { 

    getComments : function(username){ 

     var feedURL = "http://"+username+".blogspot.com/feeds/comments/default"; 

     var paras = { 
      alt : 'json-in-script' 
     }; 

     $.ajax({ 
      url: feedURL, 
      type: 'get', 
      dataType: "jsonp", 
      success: BloggerImporter.onGotCommentData, 
      data: paras 
     }); 


    }, 

    /** 
    * Parse the JSON comment data returned by the Google Blogger API 
    */ 
    onGotCommentData : function(data){ 

     var feed = data.feed; 
     var entries = feed.entry || []; 
     var txt = ""; 

     for (var i = 0; i < entries.length; ++i) { 
      var entry = entries[i]; 
      var title = entry.title.$t; 
      txt += title; 
     } 

     alert(txt); 
    } 
} 
+1

这很有效。应该被接受为答案。 – UpHelix 2011-01-17 22:20:25

+1

很棒的回答。如果只有某人可以将其标记为正确的... – kelloti 2011-07-31 21:40:56

4

以下是我用于内联我整个博客的代码。不适合搜索引擎优化,因为谷歌永远不会看到它,但我真正关心的是使博客页面看起来有一半体面。

<div id="blogContainer"></div> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$.ajax({ 
    url: 'http://www.blogger.com/feeds/<your blogger ID>/posts/default?alt=json-in-script', 
    type: 'get', 
    dataType: "jsonp", 
    success: function(data){ 
     for (var i = 0; i < data.feed.entry.length; i++){ 
      $('#blogContainer').append('<div class="blogItem"><h2>' 
        + data.feed.entry[i].title.$t + '<span class="author"> by ' 
        + data.feed.entry[i].author[0].email.$t + '</span></h2>' 
        + data.feed.entry[i].content.$t 
        + '<br clear="all"></div>'); 
     } 
    } 
}); 
</script> 
+0

+1,简而言之。我没想到谷歌仍然支持1.0 API。 – Blazemonger 2012-11-06 15:47:27