2013-07-15 60 views
1

我创建了一个.getjson()调用来处理reddit.com的API。代码如下。我的.each()函数有什么问题

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

+0

它做错了什么? – Barmar

+0

JSON的外观如何? – Barmar

+0

对不起,基本上.each函数是假设获取数据(在这种情况下,基本上是一个来自reddit的列表),并把所有的页面放在#images中。 – London804

回答

0

如果你只是想显示在#images元素的所有URL,还有在你的代码中的一些问题。

我测试你提取的reddit JSON数据。

该URL是一个网页链接,而不是一个图像资源。

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

尽量使用文字()如果你只是想显示的URL,并把它们添加到单元:

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

希望这是对你有帮助。

+0

老兄先谢谢你花时间和创建一个jsfiddle。有一半时间我无法让这些东西起作用。我其实想要显示'标题'而不是网址,但是我替换了.url作为.title。太感谢了! – London804