I have below code for auto saving but i have problem lot of Ajax request firing on same time, i want to wait Ajax request Until first Ajax request not complete
window.submitting = false;
$('form#AddForm').submit(function() {
window.submitting = true;
});
var timeoutId;
$('form input, form textarea, form select').bind('input propertychange change', function() {
console.log('Change');
if (window.submitting)
return false;
clearTimeout(timeoutId);
timeoutId = setTimeout(function() {
// Runs 5 second (5000 ms)
autoSave();
}, 5000);
});
function autoSave() {
$.ajax({
type: "POST",
data: $('form#AddForm').serialize() + '&autosave=true',
beforeSend: function(xhr) {
// Let them know we are saving
console.log('Saving........');
},
success: function(data) {
var jqObj = jQuery(data); // Ajax call here.
var ProductId = jqObj.find("#ProductId").val();
var url = $(location).attr('href');
var split = url.split("add");
if (ProductId) {
history.pushState({}, null, split[0] + "add/" + ProductId);
$('#ProductId').val(ProductId);
$('form#AddForm').attr('action', '/dataproducts/add/' + ProductId);
}
},
});
}