Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不按f5重新加载聊天内容_Javascript_Php_Html - Fatal编程技术网

Javascript 不按f5重新加载聊天内容

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创建一个小聊天。一切正常,但聊天不会自动重新加载。有没有一个函数可以解决我的问题

我的PHP代码:

<?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. ":&nbsp " . $row->msg;
          echo "<br />";
          echo '</div>';
        }
        else{
          echo $row->username. ":&nbsp" . $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);
});