如何分离在jQuery中组合在一起的JSON数据?

时间:2017-03-06 18:44:43

标签: jquery json

我有一个jQuery,它从JSON服务器检索数据并将其打印到“output”变量中。它看起来像这样:

$(function() {
  $.getJSON('http://127.0.0.1:8000/getTest/', showTodo);
    function showTodo(data) {
    var output = '';
    $.each(data, function(key, item) {

        output += item.testName;

        $(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + output + '</a></li>');
    });
  }
});

函数中的foreach循环处理输出变量。此.js文件用于导航栏。当我启动网站时,它看起来像这样:

ITEM_1     
------
    item_2
    ITEM_3     
------
    item_4
    item_5
    item_6

但我希望导航栏中的每个元素都能分开。我该怎么办?

2 个答案:

答案 0 :(得分:2)

输出将随着数组的每个元素附加到它而增长。我认为你要找的是将item.testName添加为列表项。

如果格式化附加字符串,您会注意到元素不匹配

<li>
    <a href="http://www.u2.com/index/home"> //output 
    </div>
    </a>
</li>

</div>  

没有

<div>

这对我来说更有意义

$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + item.testName + '</a></li>');

答案 1 :(得分:1)

由于我的分数较少,我无法发表评论所以我正在给你写一个答案。

您正在添加(或连接)结果&#34;输出&#34;变量。 此外,您要将数组中的每个数据附加到此行的列表中:$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + output + '</div></a></li>');

我认为您需要在添加列表时添加item.testName。 或者你可以写这一行 每个循环之后$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + output + '</div></a></li>');