UrMeMedlem sedan apr. 2001762 inlägg Varför fungerar inte detta:
var texter = new XML();
texter.ignoreWhite = true;
texter.onLoad = function(success){
if (success) {
var argh = "asd";
trace("Jepp");
}
else {
trace("Error loading XML file");
}
}
trace(argh);
texter.load("asd.xml");
link1.text = argh;
Den skriver ut "Jepp", men variablen "argh" blir undefined. Tanken är ju att jag ska hämta en text från xml filen men tog bort den snutten i if-satsen bara för att se om variabeln kan få något värde överhuvudtaget, men det verkar inte fungera.
Det beror på att argh definieras inne i if-satsen och därmed finns den bara i det "scopet". Dessutom: onload-funktionen kommer att kallas först efter att xml-filen har laddats in. Och eftersom du anropar trace(argh); innan du anropar load kan detta aldrig ske. Och eftersom detta är en asynkronb request så bör du lägga allt det där i onload-funktionen.
var texter = new XML();
texter.ignoreWhite = true;
texter.onLoad = function(success){
if (success) {
trace("Jepp");
link1.text = argh;
}
else {
trace("Error loading XML file");
}
}
texter.load("asd.xml");