2014-10-17 38 views
2

我碰到這個職位,這是一個很值得來reddit的數據就是我要找的事情:搶奪通過javascript

How to extract url data from Reddit API using JSON

我已經修改這是提供(NSFWhttp://jsfiddle.net/DHKtW/170/)到的jsfiddle閱讀:

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function(data) { 
    $.each(data.data.children, function(i,item){ 
    console.log($('.score.likes').html(item)); 
    }); 
}); 

我的目標是收集給定頁面上upvotes的總數量。當你運行這個並查看控制檯時,對象將被返回,但不是實際的數字。我認爲只是在選擇器上調用html會返回票數,但顯然是錯誤的。還有更好的方法嗎?

+0

什麼是'$('。score.likes')' - 是你正在處理的頁面?你不是試圖用CSS選擇器來解析JSON嗎? – Rup 2014-10-17 13:18:18

+0

謝謝詹姆斯。我只是重新使用這個帖子,並沒有這麼想,謝謝澄清。 Rup - $('。score.likes')是實際投票值所在的DOM元素的選擇器。我在這裏閱讀http://stackoverflow.com/questions/10844664/on-reddit-how-do-scripts-get-the-number-of-upvotes-and-downvotes-for-a-comment,你可以抓住它直接從html ... – user3007294 2014-10-17 13:23:30

回答

4

您需要console.log(item)才能看到返回的數據。使用我們可以看到,item.data.score返回一個帖子的分數。

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function (data) { 
    $.each(data.data.children, function (i, item) { 
     console.log(item.data); 
     $('<div/>', { 
      text: 'Post ' + item.data.permalink + ' has a score of ' + item.data.score 
     }).appendTo('#images'); 
    }); 
}); 

http://jsfiddle.net/DHKtW/353/

你看到的對象,而不數量的原因是因爲你叫console.log($('selector'))和從請求返回的jQuery對象而不是JSON。

+0

ahhh完美!謝謝你Spokey。正是我正在尋找的!仍然有9分鐘的接受... – user3007294 2014-10-17 13:28:00