中止不能使用$ .get

时间:2015-10-25 08:53:53

标签: jquery ajax request server

我正在使用jquery。我写了一个脚本,其中用户 A 创建聊天窗口/聊天框用于聊天用户 B ,当窗口打开时$.get方法开始向服务器发送请求以检查新消息。我的代码可以完美地运行...但我希望当用户 A 关闭用户 B 的聊天框,然后$.get不应该向服务器发送请求时。

这是我的$.get函数,它向服务器发送请求以检查新请求:

function getMessages(sender, receiver,receiverName, Clbk) {
    $.get('chat.php',
        { sender: sender, 
            receiver: receiver
        },
        function(response) {
        //console.log(response);
        if(response.success) {
            var html = '';
            var messages = response.messages;
            for(var m in messages) {
                var message = messages[m];
                var senderId = message.sender;
                var receiverId = message.receiver;
                var timestamp = message.timestamp;
                var body = message.body;
                //var msgId = message.msgId;
                html += '<p><b>'+((senderId == sender)?'ME':receiverName)+'</b>: '+body+'</p>';
            }

            $('.usermsg'+receiver).html(html);
        }

        if(Clbk) {
            //console.log(Clbk);
            Clbk();
        }

    });
}

当我调用此功能代码时(当用户点击用户 B 时,它开始发送请求):

callback = function () {
    setTimeout(function(){
        getMessages(sender, user_id, username, callback);
    }, 3000);
};
getMessages(sender, user_id, username, callback);

此代码是指用户 A 关闭窗口,用于聊天用户 B

**$('#windows').on('click','.cls', function(){
    **getMessages(sender, user_id, username, callback).abort;**
    $(this).parent().parent().remove();
});**

如何停止向服务器发送请求?

0 个答案:

没有答案