我的.each()函数出了什么问题

时间:2013-07-15 03:32:36

标签: ajax json getjson each

我创建了一个.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

1 个答案:

答案 0 :(得分:0)

如果您只想显示#images元素中的所有网址,则代码中会出现问题。

我测试你正在获取的reddit JSON数据。

网址是网页链接,而不是图片资源。

那你为什么要尝试将不存在的属性“src”添加到h1元素?

如果您只想显示网址并将其附加到元素,请尝试使用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 demo

希望这对你有所帮助。