You can use approach similar to this, in order to store the last request in some non-global scope:
function getSendValueFunction(){
var lastRequest;
return function(str){
if (lastRequest){
lastRequest.abort(); // abort pending request
}
// assign pending request, when created
lastRequest = $.post("ajax.php",{ sendValue: str },
function(data){
lastRequest = null; // clear pending request
$('#display').html(data.returnValue);
}, "json");
}
}
var sendValue = getSendValueFunction();
Just remember, that getSendValueFunction
returns functions that have separate registers of last pending request. So this will make them have 2 different pending request, completely separated:
var sendValue1 = getSendValueFunction();
var sendValue2 = getSendValueFunction();
sendValue1('aaa');
sendValue2('bbb');