[FRAGE] Auf Ende der Ajax-Abfrage warten

dieterwo

New member
Hallo Leute,

ich bin leider noch ein JS-Anfänger, fuchse mich aber langsam ein.
Jetzt bin ich auf ein Problem gestoßen, bei dem ich etwas Hilfe gebrauchen könnte.
In meinem Script hole ich mir im Event Document Ready verschiedene Daten per AJAX. Erst um z.B. die Select (Dropdown) mit ihren Options zu füllen und danach sollen dann die Forumulardaten auch wieder per AJAX geladen werden.
Mein Problem ist jetzt, dass die AJAX-Abfragen offensichtlich asynchron abgearbeitet werden. D.h. das Füllen der Select-Felder wird ggf. erst nach dem Füllen der Formulardaten erledigt, was dann dazu führt, dass eine Selectoption noch nicht da ist, und auch nicht gefunden wird.
Dieses Reihenfolge, wann die AJAX-Abfrage fertig sind, ist unterschiedlich. Daher leite ich ab, das diese wohl asyncron laufen.

Wie kann man innerhalb der Document.Ready-Funktion nacheinander folgende AJAX-Scripte in ihrer Reihenfolge von einander abhängig machen?

LG Dieter
 
Hi Dieter!

Mein Problem ist jetzt, dass die AJAX-Abfragen offensichtlich asynchron abgearbeitet werden.
AJAX = Asynchronous JavaScript and XML
Das erklärt es evtl. :icon6:

Wie kann man innerhalb der Document.Ready-Funktion nacheinander folgende AJAX-Scripte in ihrer Reihenfolge von einander abhängig machen?
Dort möchtest du es nicht haben.
Man ruft das nächste AJAX im "Fertig"-Zweig des vorhergehenden auf, dann wird es in der Reihenfolge abgearbeitet.
Ich nutze dafür immer jQuery und dort kommt der Aufruf des Nächsten in den success Ast.
Beispiel:
HTML:
jQuery.ajax({
	url:		script.pl,
	data:		dataform,		
	dataType:	'json',
	cache:		false,
	success:	function(input) {
		// hier der Aufruf des Nächsten
	},
	error: 		function(jqXHR,textStatus,errorThrown) {
		// Fehlerbehandlung
	}
});
 
Danke.
Du hast natürlich mit allem Recht. Jetzt läuft es so wie ich es vorhatte, und ich habe wieder etwas hinzugelernt

Vielen Dank.

LG Dieter
 
Zurück
Oben