gpt4 book ai didi

jQuery 每个循环不适用于 json 数据

转载 作者:行者123 更新时间:2023-12-01 00:23:41 26 4
gpt4 key购买 nike

我有一组 jSon 数据(无错误),我需要使用 $.each 函数循环,但它仅显示 jSon 的最后一个数据记录。

这是我的jquery:

$.ajax({
type: "POST",
url: '/update-recent-stat',
dataType: 'json',
success: function(jsonData)
{
var counterjson = 1;

$.each(jsonData, function(i, value){
var count = counterjson++;
var link = jsonData[count].linkid;
var time = jsonData[count].time;
var value = jsonData[count].value;
var sender = jsonData[count].sender;

$("#DownBoxL ul li").html("<div class=Timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> ("+count+") msg sent!</div><div class=TagValue>+"+value+"</div>").show();
});
}
});

所以 jSon 数据是一组包含 15 条记录的数据,例如:

[{"counter":"1","linkid":"1448524027","sender":"User1","value":"5","time":"5 sec ago"},{"counter":"2","linkid":"1448524027","sender":"User2","value":"5","time":"5 min ago"}]

郑重声明,这段代码仅显示最后一条记录!

有谁知道问题出在哪里吗?

谢谢,问候。

最佳答案

因为你每次都会覆盖所有 li 的 HTML。您可以使用 eq 使相同的代码工作。并且使用 $.getJSON 它很容易用于 JSON 数据,并且足以满足您的要求。

$.getJSON('/jsonurl/file.json', function(jsonData)
{
var counterjson = 1;

$.each(jsonData, function(i, value){
var count = counterjson++;
var link = jsonData[count].linkid;
var time = jsonData[count].time;
var value = jsonData[count].value;
var sender = jsonData[count].sender;

$("#DownBoxL ul li:eq(" + i + ")).html("<div class=Timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> ("+count+") msg sent!</div><div class=TagValue>+"+value+"</div>").show();
});
}

});

关于jQuery 每个循环不适用于 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14081279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com