更新页面,因为同一页面的其他实例在PHP中更改

时间:2016-02-24 05:07:43

标签: javascript php jquery ajax

这是我的问题。我有一个用户登录。许多用户可以使用相同的凭据登录。当用户登录时,他们会看到一组单选按钮。让我们说if CFloat(UIDevice.currentDevice().systemVersion())! >= 8.0 { UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings.settingsForTypes(([.Sound, .Alert, .Badge]), categories: nil)) UIApplication.sharedApplication().registerForRemoteNotifications() } else { UIApplication.sharedApplication().registerForRemoteNotificationTypes(([.Badge, .Sound, .Alert])) } User AUser B同时登录。当User C选择某些单选按钮时,User AUser B也应该在其页面中看到它们被选中。 (反之亦然)如果User C再次更改所选单选按钮,User BUser A应在其网页中获取更新后的值。像这样,最新的选择应该在所有页面中都可见。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:0)

我已经做了类似的设置,当用户切换部门视图时,应用程序的所有打开页面都会提示他更改并切换到活动部门视图。

我这样做了。

在用户会话中存储了所需的变量。在您的情况下,由于您需要跨多个用户可用,因此会话不会 - 将其存储在数据库或平面文件中。在您的案例中,这些变量会在广播onChange事件中更新。

使相关页面可以使用以下JS。请注意,我使用onFocus因为我需要,您可能需要使用setInterval()

window.onfocus = function(e) {
var_check();
};

function var_check(){
$.ajax({
    url: 'home/check_vars_ajax',
    type:'POST',
    dataType: 'text',
    data : {[YOUR DATA]}
}).done(function(data){
    // ...
    // handle selecting releavant radio buttons here
});
}

总结:

  1. 将您的电台选择写入数据库或平面文件(通过AJAX)
  2. 设置心跳呼叫以检查服务器上的当前状态(AJAX)
  3. 相应地更新电台选择

答案 1 :(得分:0)

另一种方法是转到WebRTC,这基本上允许您屏幕分享用户页面并在其他用户上显示结果,反之亦然。它有非常简洁的API,你可以查看很多样本。教程可用,他们的主页本身就是一个很好的起点

但是就你的特殊问题而言,我不能给你一个明确的答案,因为问题本身并不广泛(在我看来)。所以检查一下,希望它有所帮助。

答案 2 :(得分:0)

您可以使用简单的数据库查询来完成此操作。它的工作原理是,当有人登录页面时,它会从数据库行中获取变量。在设定的时间,页面查询数据库。如果数据库中的值已更改,请将该行更新一行。其他页面将按您设置的间隔查询,并使用AJAX更新页面。这是一次更新所有页面的好方法。这是一个教程。
AJAX auto refresh

您可以在此页面上的我的请求框中看到修改后的示例 AutoRoxx Radio

很容易修改。有基础知识。