以前にstackoverflowで問題を解決しましたが、プロジェクトの要件が変更されたため、新しい解決策が必要です。要約すると、5秒ごとに実行されてJSONファイルの変更を読み取るgetJSON関数があります。私が抱えている問題は、データを正しく出力することです。データを1回出力したいのですが、ユーザーがJSONファイルに変更を加えた場合に備えて5秒ごとに更新します
これが私のコードです
<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"
}
うまくいけば、私はこれをできるだけ明確にしました