ajax的不可能的反应

时间:2013-11-18 13:23:18

标签: php mysql ajax

我正在使用AJAX,PHP和MySQL开发一个网络聊天网站。

但是我遇到了一个问题,有一个功能可以检查你正在聊天的人是否还在聊天(在线)或者他/她已经放弃了聊天。 该函数如下所示:

//some variables here
var somedata="....";
var userleftchatmsg="he/she left you,you are alone now.";

function checkifuseronline(){
    $.ajax({
        type: "GET",
        url: "check.php",
        dataType: "json",
        data:somedata
    }).done(function(r) {
        if (r.o1==2) {   
            $("#chattable").prepend(userleftchatmsg);
        } else { 
            checkifuseronline();
        }
    }); 
}

事情是“他/她离开......”消息有时会出现两次,特别是当用户同时与多个合作伙伴聊天时。 这不应该是不可能的,还是我错了?

1 个答案:

答案 0 :(得分:0)

您可能不喜欢这个答案,但请查看XMPP。它旨在解决这个问题,以及您尚未遇到的所有其他问题。 http://xmpp.org/about-xmpp/

或者,更直接的方法是使用NodeJS服务器来执行此操作: http://net.tutsplus.com/tutorials/javascript-ajax/real-time-chat-with-nodejs-socket-io-and-expressjs/

糟糕的答案是PHP无法做你想做的事情。这是我一直使用的优秀语言,但你无法从这里到达那里。

祝你好运!