如何使用JSON从Reddit API中提取url数据

时间:2011-11-19 01:16:44

标签: javascript json api reddit

我正在尝试从subreddit Feed中提取图片帖子网址,并在我的网页上呈现<img>元素。

一直尝试将jQuery文档中的.getJSON() Flickr example一起破解,我现在无处可去。

有问题的代码:

$.getJSON('http://www.reddit.com/r/pics.json', function (data) {
  $.each(data.children, function (i, item) {
    $('<img/>').attr("src", url).appendTo("#images");
  });
});

在身体中,我有元素:div#images

我知道我需要使用JSONP,但不知道如何使用。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:22)

您使用的是错误的网址。使用此:

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function(data) { 
    // Do whatever you want with it.. 
});

编辑:根据评论中的fiddle工作示例。

$.getJSON("http://www.reddit.com/r/pics/.json?jsonp=?", function(data) { 
    $.each(data.data.children, function(i,item){
        $("<img/>").attr("src", item.data.url).appendTo("#images");
    });
});

您应该使用data.data.children而不是data.children

答案 1 :(得分:0)

致迷路的网友:

fetch("http://www.reddit.com/r/pics/.json")
  .then(r => r.json()).then((r) => {
     r.data.children.forEach((i) => {
       try{
         document.body.appendChild(Object.assign(document.createElement("img"),{src: i.data.thumbnail}))
       } catch (error){console.log(error.message)}
 })})