非常にシンプルなチャット アプリを作成しようとしていますが、奇妙な JavaScript の動作に行き詰まりました。
これが私のコードです:
var msg = [];
$(document).ready(function(){
$.getJSON('chat_ajax.php?get=1', function(data) {
$.each(data, function(key_i, val_i) {
var node = [];
$.each(val_i, function(key, val){
node.push(val);
//$('body').append('Test');
});
msg.push(node);
});
});
for (var f=0;f<msg.length;f++){
$('body').append('Test');
}
});
これは<script>
直前のタグに含まれて</body>
おり、?get=1
パラメーターはデバッグ用であることに注意してください
問題は、for ループが実行されないことです。いくつかのデバッグmsg
の後、$.getJSON()関数を終了した後に配列がリセットされることがわかりました(forループを内部に配置すると機能します)
おそらく基本的な構文エラーか、javascript 変数の理解が間違っているのでしょう。