Ajax实时更新跨度

时间:2014-10-13 14:24:16

标签: javascript php jquery mysql ajax

我试图获取聊天系统的在线/离线状态更新。目前,我一直坚持如何实时更新跨度。我把事情搞定了,但它不断增加价值(在线的人)到我的范围。我想要实现的是拥有一个静态的人员列表(那些在我的数据库中的人),如果他们在线,那么它旁边就是绿色的子弹。

这是我的jQuery脚本:

function theStatus(type, msg){
    $("#status").append(
        "<span class='status "+ type +"'>"+ msg +"</span>"
    );
}

function getStatus(){
$.ajax({
    type:       "get",
    url:        "php/ajax/status_users.php",

    async:      true,
    cache:      false,
    timeout:    1000,

    success: function(data){
        theStatus("rt", data);
        setTimeout(
            getStatus,
            1000
        );
        } 
    });
};


$(document).ready(function(){
    getStatus();
});

欢迎所有帮助!

1 个答案:

答案 0 :(得分:1)

我不知道你的PHP脚本现在返回什么,但我会让它返回用户名slugs和状态的键 - 值对。

然后,您可以将用户名slug作为ID添加到每个用户范围,并根据需要定位正确的范围以更改状态,或者如果在html中找不到,则添加其他用户。

目前,只需在您的ajax函数返回结果时附加span,而不是根据服务器返回的列表检查现有列表。