Я пытаюсь проверить форму, используя вызов AJAX для проверки доступных ресурсов. Если проверка инвентаризации содержит ошибку, она возвращает сообщение, если нет, форму следует отправить.
У меня есть следующий код:
$("form[id*='distributor_']").submit(function(){
return checkAvailableInventory($(this));
});
function checkAvailableInventory(form) {
$.ajax({
url: "/ajax/quantity.php?" + form.serialize(),
success: function(msg) {
if (msg) {
alert(msg);
return false;
} else {
return true;
}
}
});
}
Я подозреваю, что эта проблема возникает из-за асинхронной природы AJAX и что условие success: не срабатывает до тех пор, пока не завершится жизненный цикл checkAvailableInventory ().
У кого-нибудь есть предложения по решению этой проблемы? Я видел несколько примеров, когда люди использовали тайм-ауты, но это похоже на обход возможных проблем.