2009-10-13 8 views
4

나는 구글 (블로거)에 블로그가 있고 내 게시물에 통합하기 위해 외부 웹 사이트에서 json 데이터를 얻고 싶습니다. json 데이터를 검색하기 위해 jquery library 및 getJson 함수를 사용했지만 아무 것도 반환되지 않습니다.블로거 jquery 전화

Blogger는 jquery 외부 통화를 제한합니까? 의견이 있으십니까? 고맙습니다.

+0

Plz은 당신이 AJAX 이것은 정말 좋은 작품 – jantimon

+0

을 게시 할 수 있습니다. 대답으로 받아 들여야합니다. – ErsatzRyan

답변

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

+1

좋은 답변입니다. 누군가 만 올바른 것으로 표시 할 수 있다면 ... – kelloti

4

다음은 블로그 전체를 인라인하는 데 사용하는 코드입니다. Google이 결코 그것을 보지 않을 것이기 때문에 SEO를 위해 좋지 않다, 그러나 나가 진짜로 걱정 한 모두는 블로그 페이지를 반 괜찮은 것처럼 보이게하고 있었다.

<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, 짧고 요점. Google이 1.0 API를 계속 지원할 것이라고는 기대하지 않았습니다. – Blazemonger