1

我创建了一个 .getjson() 调用来使用 reddit.com 的 API。代码如下。

$(document).ready(function() {

        var SEARCH_URL = 'http://www.reddit.com/r/subreddits/search.json?jsonp=?';
        var searchQueryText = 'XBox';  //getSearchQueryText();

        $.getJSON(SEARCH_URL, {
            q: searchQueryText,
            limit: 3
            })
                .done(function (data) {
                    $.each(data.data.children, function(i,item) {
                        $("<h1>").attr("src", item.data.url).appendTo("#images");
                    });

                })
               .fail(function (data) {
                      alert("Something went wrong");
                    });

});//end ready

我的 .getJSON() 函数工作并取回数据。但是我的 .each() 函数有问题。即使我的控制台没有给我错误消息,我也知道它有点不对劲。我希望比我聪明得多的人可以帮助我重写它,以便它通过我体内的#images 传递内容?

JSON 看起来像这样 http://www.reddit.com/r/subreddits/search.json?q=xbox&limit=3

4

1 回答 1

0

如果您只想在 #images 元素中显示所有 URL,则代码中存在一些问题。

我测试了您获取的 reddit JSON 数据。

URL 是网页链接而不是图像资源。

那么为什么要尝试向 h1 元素添加一个不存在的属性“src”呢?

如果您只想显示 URL 并将它们附加到元素,请尝试使用 text():

var SEARCH_URL = 'http://www.reddit.com/r/subreddits/search.json?jsonp=?';
var searchQueryText = 'XBox';  //getSearchQueryText();

$.getJSON(SEARCH_URL, {
    q: searchQueryText,
    limit: 3
})
.done(function (data) {
    $.each(data.data.children, function(i,item) {
    $("<h1>").text(item.data.url).appendTo("#images");
 });

})
.fail(function (data) {
    alert("Something went wrong");
});

这是jsfiddle 演示

希望这对你有帮助。

于 2013-07-15T04:16:11.000 回答