我有一个页面,我从数据库中获取了一些文本。 当该页面打开并且其他人更改了数据库中的文本时,我不想这样做,以便在数据更改时立即刷新我的页面。
我已经搜索了一些关于使用彗星的内容,但我对此一无所知。
有没有更简单的方法来解决我的问题?如果没有,有没有人知道彗星的简单教程?
答案 0 :(得分:1)
我想到了两种方法。 “推送消息”类别中的第一个。没有太多经验,所以我将继续选择2:
在text
所在的同一表/行中添加最后编辑时间戳。当有人更新文本时,请更新时间戳。
当用户加载页面时,还会在javascript变量中发送最后编辑时间戳。然后根据以下内容将超轻量级AJAXcall转换为验证文件:
$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),但你会得到这个想法的草稿:)