Я использую вкладки пользовательского интерфейса jQuery, где каждая вкладка имеет на ней другую форму. После того, как пользователь вводит различные фрагменты данных, они отправляют весь набор вкладок, чтобы каждая вкладка асинхронно отправляла на сервер. Это хорошо работает, и у меня здесь нет проблем.Ждать вызова AJAX (POST) для завершения
Однако, когда я сталкиваюсь с проблемой, последняя форма, которую я отправляю, должна произойти ПОСЛЕ всех остальных сообщений. Общая идея такова:
postForm(0, "#Form1");
postForm(1, "#Form2");
postForm(2, "#Form3");
postForm(3, "#Form4");
$.post('Project/SaveProject', function (data) {
$('<div class="save-alert">The current project has been saved.</div>')
.insertAfter($('#tabs'))
.fadeIn('slow')
.animate({ opacity: 1.0 }, 3000)
.fadeOut('slow', function() {
$(this).remove();
});
});
Функция postForm делает немного обработки, а затем делает .post вызов AJAX $. Последний $ .post, выполняемый здесь (в Project/SaveProject), должен дождаться завершения этих других сообщений. Каков наилучший способ сделать это?
Спасибо, что упомянул '$ .ajax.active' в jQuery 1.5! – Edgar