Javascript 不按f5重新加载聊天内容
我想用PHP创建一个小聊天。一切正常,但聊天不会自动重新加载。有没有一个函数可以解决我的问题 我的PHP代码:Javascript 不按f5重新加载聊天内容,javascript,php,html,Javascript,Php,Html,我想用PHP创建一个小聊天。一切正常,但聊天不会自动重新加载。有没有一个函数可以解决我的问题 我的PHP代码: <?php $newmsg= mysqli_query($db_chat, "SELECT msg, username, time FROM messages"); while($row = mysqli_fetch_object($newmsg)) { echo '<div class="messagesinchat">';
<?php
$newmsg= mysqli_query($db_chat, "SELECT msg, username, time FROM messages");
while($row = mysqli_fetch_object($newmsg))
{
echo '<div class="messagesinchat">';
if ($row->username == "admin") {
echo '<div class="ownmsg">';
echo $row->username. ":  " . $row->msg;
echo "<br />";
echo '</div>';
}
else{
echo $row->username. ": " . $row->msg;
echo "<br />";
}
echo '</div>';
}
?>
您可以根据需要在几秒钟后重新加载页面
<script>
setTimeout(function(){
window.location.reload(1);
}, 5000);
</script>
setTimeout(函数(){
窗口。位置。重新加载(1);
}, 5000);
或
您可以使用PHP实现:
标题(“刷新:0”)代码>
请参阅Peter Mortensen关于堆栈溢出的回答。您需要在显示页面中定义div
,并且可以使用jQuery的.load()
使用PHP脚本将聊天消息加载到div
。然后,每隔x秒重新加载div
假设您有:
display.php
。。显示您的聊天记录。(是的,你要么需要一个websocket,要么使用js/jQuery来实现这一点,默认情况下,php在第一次执行完成后不会做任何事情。那太棒了。你能先试试吗?你需要Ajax来实时完成这一点。Pusher非常适合这样做,因为它保持了实时性。整个页面都在用你的代码重新加载。B但是我只想重新加载这个单独的div。对于这个需求,您需要使用ajax。
<meta http-equiv="refresh" content="5; URL=http://yoursite.com/chat.php">
$(function() {
setInterval(function() {
$('#messagesinchat').load('chat.php?action=show');
}, 1000);
});