如何在getJSON中使用append

时间:2018-09-03 22:15:46

标签: javascript jquery

我正在尝试在内部显示getJSON函数的结果

<ul>
<li> item 1 link</li>
<li> item 2 link</li>
<li>item 3 link  </li>
... etc.
</ul>

我尝试过的是:

$.getJSON($URL, function(data) {
                var array = $.map(data, function(item) {
                    return {
                        title: item.title,
                        id: item.id
                    };
                });
                for (var i = 0; i < 11; i++) {
                    $('#related-sites').append("<li>"+array.title+"</li>");
                }
            });

但是我遇到了“未定义”错误://请帮忙!

2 个答案:

答案 0 :(得分:2)

我不明白为什么您需要$.map,也为什么不对具有魔术值的索引进行硬编码循环,为什么您在array.title上也错过了索引,请尝试以下方法:

$.getJSON($URL, function(data) {
  var iHtml = '';
  $.each(data, function(i, item) {
    iHtml += '<li>' + (item.title || '') + '</li>';
  });
  $('#related-sites').append(iHtml);
});

已编辑:

  

我只需要获得前十项

$.getJSON($URL, function(data) {
  var iHtml = '';
  $.each(data, function(i, item) {
    if(10 <= i) return false;
    iHtml += '<li>' + (item.title || '') + '</li>';
  });
  $('#related-sites').append(iHtml);
});

答案 1 :(得分:1)

您正在寻找数组的属性title ...而不是数组中的特定项目

更改

$('#related-sites').append("<li>"+array.title+"</li>");

收件人

$('#related-sites').append("<li>"+array[i].title+"</li>");
                                    // ^^^

除了您的地图似乎多余之外,您还可以遍历数据本身并获得相同的结果