2010-11-27 2 views
2

저는 최근에 Google Buzz API를 살펴 봤는데 쿼리 할 수있는 Twitter API와 비슷할 것이라고 생각했습니다. 문서는 그런 식으로 읽습니다. 그것은 나타나지 않을 것이며, 나는 무엇이 실종되었는지 알아 내려고 노력하고 있습니다.JQuery를 통해 Null을 반환하는 Google 버즈 API?

예를 들어, 브라우저에서 다음 URL을 던진 경우,

http://www.googleapis.com/buzz/v1/people/jonathan.beckett/@groups/@followers?alt=json

그것은 예상 데이터를 반환합니다. 그러나 동일한 URL에서 (아래에 나열된 것처럼) 꽤 간단한 JQuery 코드를 실행하면 null을 리턴한다.

<html> 
<head> 
    <title>Buzz Wall of Awesome</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" language="javascript"></script> 
</head> 
<body> 
    <div>Buzz ID <input type="text" id="buzz_id" value="jonathan.beckett" /> <button id="following_button">Following</button> <button id="followers_button">Followers</button></div> 
    <div id="results"></div> 
    <script language="Javascript"> 
     $(document).ready(function(){ 
     var url = "http://www.googleapis.com/buzz/v1/people/jonathan.beckett/@groups/@followers?alt=json"; 
     $.getJSON(url,{}, function(data) { alert(data); }); 
     }); 
    </script> 
</body> 
</html> 

왜 그런가?

var url = "http://www.googleapis.com/buzz/v1/people/jonathan.beckett/@groups/@followers?alt=json&callback=?"; 

You can test it out here :

답변

1

당신은 CU는 다음과 같이 URL에 &callback=?을 추가, 여기 JSONP 동작을 호출해야합니다. 이 없으면 callback=? 매개 변수 (jQuery가 대신 함)는 XmlHttpRequest를 만들어 JSON 데이터를 가져 오려고 시도하며 ... same origin policy에 의해 차단됩니다. 매개 변수를 추가하여

(서버가 지원하는 경우 을, 그리고 여기 않습니다) 당신이 대신 JSONP를 사용하는 $.getJSON() 원인이있어 <script> 태그를 생성하여, 완전히 다른 방식으로 작동하는 ... 어떤 작품 응답이 유효한 JavaScript 인 경우 교차 도메인

+0

고마워요! 나는 이것을 전에 보았고 모든 것을 잊어 버렸습니다. - 당신은 방금 문서를 파헤쳐 시간을 쌓아 줬습니다. – Jonathan

+0

@Jonathan - welcome :) 팁으로, 항상 여러분이 사용하고있는 메소드에 대한 문서로 시작하십시오. 예를 들어, 다음과 같은 tid-bits가 있습니다 : http://api.jquery.com/jQuery.getJSON/ "URL에 문자열"callback =? "(또는 서버 측 API에서 정의한 것과 비슷한)이 포함되어 있으면 요청이 JSONP로 처리됩니다. $ .ajax()에서 jsonp 데이터 유형에 대한 설명을 참조하십시오. 상세 사항은." :) –