Hallo,
ich würde gerne mehrere Ajax-Aufrufe nacheinander aufrufen,
aber dabei soll der 2. Aufruf aber in Abhängigkeit vom Ergebnis des 1. aufgerufen werden.
Ein Ajax Aufruf sieht bei mir etwa so aus:
function save1(idnr,stat) {
var req = createXMLHttpRequest();
req.onreadystatechange = function() {
switch(req.readyState) {
case 0:
case 1:
case 2:
case 3: return;
case 4: break;
}
sapresulttext = req.responseText;
if (sapresulttext.IndexOf("-OK-") >= 0) {
document.getElementById("div_planer").innerHTML = erg_ok;
result = 1;
} else {
result = 0;
document.getElementById("div_planer").innerHTML = erg_fehler+" "+sapresulttext;
}
return result;
}
xurl = rootpfad+"/templates/do_save.php?idnr="+idnr+"&stat="+stat;
req.open('get', xurl);
req.send(null);
}
Wie mache ich das am Besten, wenn ich jetzt mehrere Aufrufe in Abhängigkeit hintereinander schalten möchte?
Folgendes geht jedenfalls nicht, er läuft direkt durch, 2 und 3 werden nicht mehr aufgerufen, da dann result noch nicht 1 sein ist.
document.getElementById("div_urlaub_sap").innerHTML = loading;
result = save1(idnr,stat);
if (result == 1) {
document.getElementById("div_urlaub_notes").innerHTML = loading;
result = save2(idnr,stat);
}
if (result == 1) {
document.getElementById("div_urlaub_planer").innerHTML = loading;
result = save3(idnr,stat);
}