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

时间:2016-09-30 02:33:04

标签: php

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

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

感谢您的任何见解!

1 个答案:

答案 0 :(得分: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");
    });
}

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

setInterval(function(){
    get_post()         
},5000);

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

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

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