Klaus: Mehrere Ajax-Aufrufe nacheinander?

Beitrag lesen

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);  
		}