2011-12-30 6 views
4

redditから特定のURLのスコアを取得しようとしています。 「のredditでシェアを(カウント)」を追加するリンク:あなたはカールとURL、またはお使いのブラウザを呼び出すとjQueryを使用してRedditのURLのスコアを取得します。getJSON

function redditCounter(url) { 
    // Get number of counts from reddit JSON api 
    // $.getJSON('http://www.reddit.com/api/info.json?url='+url+'', 
    $.getJSON('http://www.reddit.com/api/info.json?url=http://stackoverflow.com/q/811074/1288', 
    function(data) { 
     count = 0; 
     if (data.children.count() > 0) { 
     first_child = data.children[0]; 
     alert(first_child.score); 
     } 
    }); 
} 

、結果はReddits API documentationで説明したようなものです。子配列があり、数値のスコアを含んでいます。

しかし、$.getJSONは、ファイヤーバグでそれを踏むときに空の答えを返します。

これはredditによる保護方法ですか?または私はgetJSONを間違って使用していますか?

答えて

5

実際にJSONPレスポンスを期待しているはずです。その場合は、URLに&callback=?を追加する必要があります。

EDIT:今後この問題を抱えている人のためだけに、jQueryのgetJSON()は、不正な形式のJSONオブジェクトに遭遇した場合、またはこの場合のようにJSONPパディングなしで別のドメインからJSONオブジェクトを受け取ると、 。ただし、一部のブラウザ(Google Chromeなど)では、取得しているJSONオブジェクトに問題があることを示すインジケータとして役立つMIMEタイプの警告が表示されることがあります。

+0

これは非常に感謝しています。 – Jake

関連する問題