2011-12-30 53 views
4

我想從reddit獲得某個URL的分數。要添加「與reddit的份額(計數)」鏈接:在Reddit上使用jQuery getJSON獲取URL的分數

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); 
     } 
    }); 
} 

當你調用的URL,捲曲,或者您的瀏覽器,結果就像Reddits API documentation描述。有一個兒童陣列,其中包含一個數字的分數。

然而,$.getJSON會返回一個空的答案,在螢幕上移動時會看到它。

這是通過reddit的保護方法嗎?或者我使用getJSON錯誤?

回答

5

我敢肯定,你應該真的期待一個JSONP響應,在這種情況下,我相當肯定你應該追加&callback=?到你的URL。

編輯:任何人在將來遇到這個問題時都會注意到:如果jQuery的getJSON()遇到格式不正確的JSON對象,它會自動失敗,或者在這種情況下從另一個域中接收不帶JSONP填充的JSON對象。但是,某些瀏覽器(例如Google Chrome)可能會引發MIME類型警告,該警告非常適合作爲您獲得的JSON對象出現問題的指示器。

+0

這是一個很好的答案,它有助於非常感謝! – Jake 2013-09-26 11:07:11