Hallo,
ich versuche hier die erfolgreichen Datenbank-INSERTs zu zählen, bekomme aber in dem alert() immer "0" zurück.
Ich verstehe die asynchrone Abarbeitung so, dass die Ajax-$.posts in der Schleife "angetriggert" werden, aber alert() schon ausgegeben wird bevor die DB Anweisungen abgeschlossen sind. Aber wie kann ich nun die erfolgreichen Datenbank-INSERTs zählen?
Im nächsten Schritt möchte ich dann ein Spinner/Kreisel vom Start bis Ende anzeigen lassen. Ich vermute, dass der auch wegen der asynchrone Abarbeitung so nicht funktioniert.
Vielen Dank schonmal für eure Hilfe.
ich versuche hier die erfolgreichen Datenbank-INSERTs zu zählen, bekomme aber in dem alert() immer "0" zurück.
Javascript:
function jsVorlageSpeichern()
{
$("#kreisel").html("<img src='images/kreisel.gif' />"); // Kreisel anzeigen
var inserts = 0;
$("#speiseplanung textarea").each(function(pos, textarea)
{
let DATA = {
tagID: textarea.name.split("][")[2],
artikelnummer: $("#artikelnummer" + textarea.name.split("][")[2]).val(),
menueText: textarea.value
};
if (textarea.value.trim())
{
$.post("ajax/ajaxMenueplanVorlageSpeichern.php", DATA, function(phpData) { if (phpData==1) { inserts++; } }
console.log("inserts nach $.post: ", inserts); // hier werden nacheinander alle INSERTs ausgegeben
}
} );
$("#kreisel").html(""); // Kreisel ausblenden
alert('Die Vorlage wurde mit ' + inserts + ' Artikeln gespeichert.'); // hier ist "inserts" immer "0"
}
Ich verstehe die asynchrone Abarbeitung so, dass die Ajax-$.posts in der Schleife "angetriggert" werden, aber alert() schon ausgegeben wird bevor die DB Anweisungen abgeschlossen sind. Aber wie kann ich nun die erfolgreichen Datenbank-INSERTs zählen?
Im nächsten Schritt möchte ich dann ein Spinner/Kreisel vom Start bis Ende anzeigen lassen. Ich vermute, dass der auch wegen der asynchrone Abarbeitung so nicht funktioniert.
Vielen Dank schonmal für eure Hilfe.