I am using jquery. I write a script where user A create chatwindow/chatbox for chatting user B, when window opened $.get
method start sending request to server for check new message. My code works perfectaverything... but I want when user A close chatbox of user B then $.get
shouldn't be send request to server.
Here is my $.get
function that send request to server for check new request:
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();
}
});
}
When I call this function code(when user click on User B it start sending requests):
callback = function () {
setTimeout(function(){
getMessages(sender, user_id, username, callback);
}, 3000);
};
getMessages(sender, user_id, username, callback);
This code is when user A close window for chatting User B:
**$('#windows').on('click','.cls', function(){
**getMessages(sender, user_id, username, callback).abort;**
$(this).parent().parent().remove();
});**
How can I stop sending request to the server?