我以前在 stackoverflow 上解决了一个问题,但是我的项目的要求已经改变,所以我需要一个新的解决方案。总结一下,我有一个 getJSON 函数,它每 5 秒执行一次以读取 JSON 文件中的更改。我遇到的问题是正确输出数据。我希望数据输出一次,但每 5 秒更新一次,以防用户对 JSON 文件进行更改
这是我的代码
<script type="text/javascript">
$.ajaxSetup({
cache: false
});
setInterval(function() {
$.getJSON('names.json', function(data) {
for (var i in data) {
$('#one').append(data[i]);
}
});
}, 5000);
</script>
这个 getJSON 函数允许我抓取 JSON 数据并将其附加到 div 的开头。然后我刷新函数,这样如果 JSON 数据发生变化,那么 div 中的数据也会发生变化。问题是数据每 5 秒重复一次。
15 秒后的意外结果
453545Beady little eyesLittle birds pitch by my doorstep
453545Beady little eyesLittle birds pitch by my doorstep
453545Beady little eyesLittle birds pitch by my doorstep
15秒后我想要的结果
453545Beady little eyesLittle birds pitch by my doorstep
如果我在脚本运行时更改 JSON 11 秒
"two": "Eyes"
我想在 15 秒后得到的结果
453545 Eyes Little birds pitch by my doorstep
而不是我在 15 秒后得到的实际结果
453545Beady little eyesLittle birds pitch by my doorstep
453545Beady little eyesLittle birds pitch by my doorstep
453545 Eyes Little birds pitch by my doorstep
这是我正在使用的 JSON 文件
{
"one": "453545",
"two": "Beady little eyes",
"three": "Little birds pitch by my doorstep"
}
希望我已经尽可能清楚地说明了这一点