Другое решение, если вы хотите, чтобы $ .ajax был асинхронным, но разрешать только один ajax-запрос в любое время. Вы можете взглянуть на глобальное событие $ .ajaxStart и $ .ajaxStop
var ajaxLock = false;
$.ajaxStart(function(){ajaxLock = true;});
$.ajaxStop(function(){ajaxLock = false;});
var ajaxRequest = function(url, data) {
if (!ajaxLock) {
$.ajax({
url: url
type: 'POST',
dataType: "JSON",
async: false,
success: function(data){
response = data;
}
});
}
}