所以我正在处理JavaScript/php聊天室。除了它更新我的div的内容之外,所有的工作都是有效的(这个工作只有一次,但之后它不会在新的消息被放入数据库时不断更新它)。这里是我的代码:自动更新聊天室
JavaScript部分:
<script language=javascript type='text/javascript'>
setInterval(function() {
var arrayOfObjects = <?print_r(getChatArray());?>;
var chat = "";
for (var i = 0; i < arrayOfObjects.length; i++) {
var object = arrayOfObjects[i];
chat += "["+object.date+"]"+object.op+": " + object.msg + "</br>";
}
$('#chat').html(chat);
}, 10);
</script>
PHP的一部分:
<?php
function getChatArray() {
$result = mysql_query("SELECT * FROM shouts ORDER BY id DESC");
$to_encode = array();
$count = mysql_num_rows($result);
$size = 0;
if($count > 0) {
while($row = mysql_fetch_assoc($result)) {
$to_encode[$size]['id'] = $row['id'];
$to_encode[$size]['msg'] = $row['msg'];
$to_encode[$size]['op'] = $row['op'];
$to_encode[$size]['date'] = $row['date'];
$size += 1;
}
} else {
return "None";
}
return json_encode($to_encode);
}
?>
任何想法,为什么不持续更新呢?
谢谢。
作为一个方面说明,在你的代码中也有不少不好的做法。 – BenM 2012-04-11 13:54:07
我想你错过了客户端和服务器端的区别 – 2012-04-11 13:55:12
我刚刚开始学习js,所以我不希望我的代码有良好的做法直接蝙蝠。 – 2012-04-11 13:56:09