【问题标题】:automatically refresh page when someone makes changes [duplicate]当有人进行更改时自动刷新页面[重复]
【发布时间】:2014-03-18 06:31:15
【问题描述】:

我有一个页面,其中有一些从数据库中获取的文本。 虽然该页面已打开并且其他人更改了数据库中的文本,但我不想让我的页面在数据更改时立即刷新。

我用谷歌搜索了一些关于使用彗星的东西,但我对此一无所知。

有没有更简单的方法来解决我的问题?如果没有,有人知道彗星的简单教程吗?

【问题讨论】:

标签: javascript php comet


【解决方案1】:

我想到了两种方法。 “推送消息”类别中的第一个。没有太多经验,所以我将继续选择选项 2:

在与text 相同的表/行中添加最后编辑时间戳。当有人更新文本时,更新时间戳。

当用户加载页面时,还会在 javascript 变量中发送上次编辑时间戳。然后按照以下内容对验证文件进行超轻量级 AJAX 调用:

$query = "SELECT text,last_edit FROM someTable WHERE lastedit>".$_GET['timestampFromJS']." LIMIT 1";
$result = mysqli_query($conn, $query);
if( $result->num_rows===0 ){
    echo 0; // something small for JS
}
else{
    $fetch = $result->fetch_assoc();
    echo $fetch['text'];
}

在您的javascript代码的成功处理程序中,检查该值是否不等于0,如果不等于0,则使用结果更新页面。

可能还有其他解决方案,或者您可能更喜欢 JSON(我知道我愿意:P),但您会得到这个想法的草稿 :)

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 2011-11-22
    相关资源
    最近更新 更多