gpt4 book ai didi

javascript - Jquery的append和settimeout死循环

转载 作者:行者123 更新时间:2023-12-03 11:50:59 24 4
gpt4 key购买 nike

我尝试在表中显示我的 json 数据并定期刷新它(以检查是否添加了任何新条目)。然而,我最终陷入了无限循环。 setTimeOut 将继续追加旧条目。有人可以帮我解决这个问题吗?

js fiddle 链接:http://jsfiddle.net/eprte2m6/

js

<script>
(function worker() {
$.ajax({
url: 'test.json',
type: 'POST',
data: 'json',
success: function (response) {
var trHTML = '';
$.each(response, function (i, item) {
trHTML += '<tr class="success"><td>' + item.type + '</td><td>' + item.date + '</td></tr>';
});
$('#monitor1').append(trHTML);
},
complete: function() {
// Schedule the next request when the current one's complete
setTimeout(worker, 5000);
}
});
})();
</script>

测试.json

[{
"type":"Tablet",
"date":"02/03/14",
},
{
"type":"Tablet",
"date":"02/05/14",
}]

html

<table class="table" id="monitor1">
<thead>
<tr>
<th>type</th>
<th>Date</th>
</tr>
</thead>
</table>

最佳答案

有两个选项

1) 您可以在添加之前清除表格,如下所示。

$('#monitor1 tbody').empty();

将数据追加到表后

$('#monitor1').append(trHTML);

DEMO

2) 您可以有一个变量,其中包含您之前的 JSONdata ,并且在响应时您可以检查,如果两个数据不相同,则获取两者之间的差异两者都在另一个 JSON 中。并根据该差异更新您的表格。

关于javascript - Jquery的append和settimeout死循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25839762/

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