ebody: jQuery get() - Variablen innerhalb von get() auch außerhalb nutzen

Beitrag lesen

Hallo,

es ist nur ein Beispielcode der das Problem darstellen soll. Ziel ist es, Inhalte aus einer Datei in Variablen und Objekten zu speichern, um diese im Script weiter verarbeiten zu können.

var x = {};
var y = "";

$.get("datei.xml", function(data){

	$(data).find("movie").each(function(index, value){

		// Funktionen die in x und y Werte aus datei.xml speichern
	
	});

	console.log("y innerhalb: ", y);

});

console.log("x außerhalb: ", x);
console.log("y außerhalb: ", y);

$(document).ready(function() {
	
	console.log("x ready: ", x);
	console.log("y ready: ", y);

});

In der WebDev Console wird x mit Inhalt in jeder Ausgabe angezeigt. y ist immer leer nur "y innerhalb:" zeigt den Inhalt. Warum enthält y außerhalb von get() keine Werte?

Die Ausgabe in der WebDev Console hat diese Reihenfolge:

x außerhalb:{}

y außerhalb:

x ready:{}

y ready:

y innerhalb: ...Werte...

Ich dachte, evtl. ist die get() Funktion noch nicht fertig durchgelaufen und daher haben die Variablen keine Werte. Aber x hat ja Werte.

Die Reihenfolge wundert mich trotzdem etwas, denn "y innerhalb" wird erst am Ende angezeigt. Für mich sieht es so aus als wäre somit die get() Funktion auch erst später fertig und dennoch enthält x schon alle Daten.

Gruß ebody