如何在PHP中收到POST请求后实时更新页面?

Aar*_*n T 2 php

我需要能够拥有一个PHP页面,允许一个人向其发送带有信息的POST请求,然后每个已打开页面的用户将自动更新以反映POST请求中的新信息,而无需刷新页.

我有一些PHP的经验,我可以处理接收POST请求和读/写数据库,我只需要知道如何(如果可能的话)我可以让这个PHP脚本将这个新信息发送给所有连接的客户端而不需要他们刷新页面.

感谢您的任何见解!

Fra*_*nco 6

好的Aaron,我必须继续这里,因为评论中没有太多空间来解释这一点.

如果您已经在使用ajax将数据发布到数据库,那么您可以这样做:

在页面中,您需要刷新添加另一个ajax request,以便从数据库中检索已发布的值并将其包装在函数中,例如:

function get_post(){
    var Url = 'here the url that points to your php script'
    $.ajax({
        url: Url,
        type: 'POST',
        dataType: 'json',
        data: { //if needed you need to pass here the parameters },
    })
    .done(function(data) {
        //here assign the returned data to the html element
    })
    .fail(function() {
        console.log("error");
    });
}
Run Code Online (Sandbox Code Playgroud)

之后你需要这个以便定期调用函数:

setInterval(function(){
    get_post()         
},5000);
Run Code Online (Sandbox Code Playgroud)

这将每5秒执行一次上述功能(根据您的需要调整此值)页面将刷新而不重新加载.

注意:我不知道您要存储的内容以及要显示的内容,因此根据您的计划,您需要在返回的响应中添加一些额外的代码,并且您可能需要预先格式化html直接在您的php脚本中输出,以便您可以一次性在页面中显示它.

我希望这会让你知道如何做到这一点.