Sto utilizzando le schede dell'interfaccia utente jQuery in cui ogni scheda ha un modulo diverso. Dopo che l'utente ha inserito varie parti di dati, inviano l'intera serie di schede in modo che ogni scheda venga inviata al server in modo asincrono. Funziona bene e non ho problemi qui.Attendere la chiamata AJAX (POST) per terminare
Tuttavia, dove mi imbatto in un problema è che l'ultimo modulo che inserisco deve succedere DOPO che tutti gli altri post sono completi. idea generale è simile a questo:
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();
});
});
La funzione postForm fa un po 'di elaborazione e poi effettua una chiamata AJAX .post $. L'ultimo $ .post eseguito qui (su 'Project/SaveProject') deve attendere fino a quando questi altri post sono completati. Qual è il modo migliore per farlo?
Grazie per aver menzionato '$ .ajax.active' in jQuery 1.5! – Edgar