Как вариант, это прерывать аякс запрос при клике на кнопке и посылать его ещё раз.
Дословно не могу сказать что и как делать, так как реализовывал эту задачу довольно давно, но примерно так переменной присваивается $.ajax(...), далее в коде проверяем есть ли на данный момент активный аякс запрос то его прерываем и отправляем по занову. Таким способом у вас исключено несколько идентичных аякс запросов, будет только один, остальные будут прерываться
// Метод abort() отменят текущий HTTP-запрос.
// Метод abort(). Если запрос был оправлен, этот метод отменит его.
var xhr = $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
// Убить запрос
xhr.abort()