14

我正在尝试从 subreddit 提要中提取图像发布 URL,并<img>在我的页面上呈现元素。

一段时间以来,我一直试图将 jQuery Docs 中的.getJSON() Flickr 示例拼凑在一起,但我一无所获。

有问题的代码:

$.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,但不确定如何使用。有人可以指出我正确的方向吗?

4

2 回答 2

22

您使用了错误的网址。用这个:

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

编辑:基于您在评论中的小提琴的工作示例。

$.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

于 2011-11-19T02:02:16.473 回答
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)}
 })})

于 2021-03-23T05:29:46.477 回答