PHP-Array in Flash laden

Ich habe unseren Abschnitt, in dem der Array ausgelesen wird, in ein Movieclip gesteckt. Noch genauer beschrieben: Der Arraylesecode befindet sich in einer Funktion (lv.onLoad = function(success) {) im Movieclip.
Er funktioniert dort drin aber nicht. Woran liegt das?
 
... Du musst das Objekt, erst erstellen, bevor Du eine seiner Methoden verwenden kannst.

Im Moment versuchst Du die Dinge in dieser Reihenfolge:
Code:
lv.load(api_url2); // Methode ausführen auf nichtexistierendem Objekt
var lv = new LoadVars(); // dann das Objekt erstellen
lv.onLoad = function(success) { // und eine Methode definieren

Die Zeile
Code:
var lv = new LoadVars();
muss an die erste Stelle ...

.
 
Daran lag es leider nicht. Schade, ich mochte den Code einfach nur umtragen und wollte ihn dann erstmal unberührt lassen, doch selbst das ging nicht ganz.

Ich veröffentliche am besten den gesamten Code des Movieclips inklusive der Array-Interpretation, vielleicht hängt es nämlich mit Vorgänger-Variablen zusammen.
Wenn du vielleicht da noch ein Blick raufwerfen könntest wäre ich sehr dankbar.
(Alternativ: komplette Datei)
Code:
zeit = new Date();
stamp = zeit.getHours()*60*60+zeit.getMinutes()*60+zeit.getSeconds();
if (!alterstamp || (stamp-8)>alterstamp) {
	if (!alterstamp) {
		alterstamp = stamp;
	}
	if ((stamp-8)>alterstamp) {
		alterstamp = stamp;
	}
	_root.MClade_loginmeldung.load("http://www.bb-6.de/api.php?a=status");
	// Online-User
	var lv = new LoadVars();
	lv.onLoad = function(success) {
		if (success) {
			_root.randmeldung_useron = this.userzahl_on+" User online";
			_root.meldung_ontext = "Gerade online - LIVE\n";
			_root.meldung_ontext += this.titel_mitglieder+"\n";
			if (this.userzahl_on>0) {
				_root.meldung_ontext += this.inhalt_mitglieder;
			}
		} else {
			_root.randmeldung_useron = "Fehler!";
		}
	};
	lv.load("http://www.bb-6.de/api.php?a=on");
	// Zweite Durchsuchung: Neue Beiträge
	var lv = new LoadVars();
	lv.onLoad = function(success) {
		if (success) {
			_root.randmeldung_neues = this.anzahl+" x Neues";
			/*
			if (this.code == "100") {
				_root.meldung_neutext = "Für diese Funktion musst du eingeloggt sein.";
			} */
			if (this.code == "101" || this.code == "100") {
				_root.meldung_neutext = "Es gibt "+this.anzahl+" ungelesene Beiträge:"; // wird korrekt ausgegeben
				// Array identifizieren
				var titel = new Array();
				var xm = new XML();
				xm.ignoreWhite = true;
				xm.onLoad = function() {
					parse(this.firstChild.firstChild.childNodes);
				};
				xm.load("http://www.gregor-kempny.de/xml.xml");
				function parse(obj) {
					// Keine Ausgabe
					for (var i = 0; i<obj.length; i++) {
						var k = obj[i].attributes.key;
						var v = obj[i].attributes.val;
						titel[k] = v;
						trace("Objekt: "+titel[k]); // Keine Ausgaben
					}
				}
				for (i=1; i<=this.anzahl; i++) {
					_root.meldung_neutext += "<br>";
					_root.meldung_neutext += "<a href=''>"+titel[i]+"</a>";
				}
			}
			// _root.xml_xlip.ladeXML();
		} else {
			_root.meldung_neutext = "Laden fehlgeschlagen";
		}
	};
	lv.load("http://www.bb-6.de/api.php?a=neues");
}
 
Code:
	var lv = new LoadVars();
	lv.onLoad = function(success) {
            ...
	};
	lv.load("http://www.bb-6.de/api.php?a=on");
...
	var lv = new LoadVars();
	lv.onLoad = function(success) {
            ...
	};
	lv.load("http://www.bb-6.de/api.php?a=neues");
, Du kannst nicht das selbe Objekt zweimal erstellen und erwarten, dass beide onLoad-Handler getrennt weiterexistieren. Verwende für das zweite LoadVars-Objekt einen anderen Bezeichner.

Gruß
.
 
Ursprüngliches Problem:
Das habe ich geändert, das Problem besteht aber weiterhin. :(

"Der Arraylesecode befindet sich in einer Funktion im Movieclip. Dort drin funktioniert er aber nicht."


Habe es etwas umgeändert, die Schleife für den Durchgang der Knoten fehlt noch, aber es funktioniert nun:
Code:
	var ergebnisliste = new XML();
	ergebnisliste.ignoreWhite = true;
	var sendHandler = new LoadVars();
	ergebnisliste.onLoad = function(geladen) {
	if (geladen) {
			var z = 1; // Zeile, müsste dann mit Schleife dekoriert werden
			var knoten = this.firstChild.childNodes[z];
			zeigeErgebnisse(knoten);
			trace("Ergebniss:"+knoten.attributes.titel);
		} else {
			_root.fehlermeldung = "XML-FEHLER...";
		}
	};
	ergebnisliste.load("daten.xml");

Sehr gut, vielleicht war irgenwas mit der childNodes-Zeile, ich schaue mir demnächst an, woran das lag.
Danke für die Antworten, es ist vollbracht.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück