用JavaScript刷新聊天室

时间:2012-10-21 22:08:53

标签: php javascript refresh chatroom

我正在处理聊天室类型的事情,用户输入文本并按Enter键,然后将其发布到主页面。我用PHP构建它。我有一个工作模型,但要查看新帖子,您必须单击浏览器中的刷新按钮。有没有办法在JavaScript中自动刷新?我确信有,但似乎每两秒刷新一次,而不是非常缓慢和资源密集。那还有解决方法吗?如果不是很好,我猜我们可以每隔几秒就进行一次刷新。

我现在是一名高级JavaScript用户,因此请评论您的代码并说明我需要更改的内容。万分感谢!!

哦,PS,所有评论都保存在MySQL数据库中,并通过PHP自动生成。

1 个答案:

答案 0 :(得分:1)

是的,您可以每隔X秒刷新一次窗口,但正如您所提到的,在此方案中无需重新加载整页。正如你所说的所有新文本注释都在sql中,你可以做的就是使用AJAX来调用php函数来在屏幕上实时更新它们而不需要重新加载页面。

setTimeout("updateChatAJAx()",2000);

此javascript行将每2秒调用一次“updatechatAJAx”javascript函数。

    //Load the message View
    function updateChatAJAx(){
        var ajaxRequest;  // The variable that makes Ajax possible!
        ajaxRequest = new XMLHttpRequest();
        // Create a function that will receive data sent from the server
        ajaxRequest.onreadystatechange = function(){
                if(ajaxRequest.readyState == 4){
                        //The response
                        document.getElementById('MoreID').innerHTML = ajaxRequest.responseText;
                }
        }
        ajaxRequest.open("GET", "getMessages.php", true);
        ajaxRequest.send(null);
}

上面的函数将是ajax函数,它将调用getMessages.php获取输出并将消息放入“MoreID”div元素