Det her bliver langt, men for at tage det sidste først:
6] myMC.loadVariables(url, variables) == loadVariables(url, myMC, variables)
Herefter for at forklare forskellen mellem GET og POST. GET sendner variabler på den pågældende tidslinie med i url'en, så hvis du kun har skrevet:
myVar = "hejsa";
loadVariables("submit.asp",_root,"GET");
Så er det det samme som:
loadVariables("submit.asp?myVar=hejsa",_root);
Eller mere dynamisk:
myVar = "hejsa";
loadVariables("submit.asp?myVar=" add myVar,_root);
Forskellen ved selv at skrive sine variabler eller bruge GET er, at skriver du dem selv, så kommer der kun dem med, som du definerer... Bruger du GET, så kommer samtlige variabler på tidslinien med...
Bruger du POST, så sendes variablerne også videre til den modtagende side, men skjult som POST-variabler, som kan hentes fra dit .asp-dokument (eller PHP) med en simpel kommando...
Så med hensyn til target, så er det andet argument enten tomt, "" eller et target, som kan være absolut eller relativ. Hvis du skriver:
loadVariables("submit.asp");
Bliver variablerne loaded der, hvor du står. Det er det samme som:
loadVariables("submit.asp", "");
loadVariables("submit.asp", this);
Skal du sende dem til en absolut reference, kan du bruge fx:
loadVariables("submit.asp", _root);
loadVariables("submit.asp", _root.myMC);
Eller relativt:
loadVariables("submit.asp", _parent.myMC);
loadVariables("submit.asp", this.myMC);
loadVariables("submit.asp", myMC);
De to sidste giver samme resultat (selvfølgelig)...
Som du kan forstå, så giver dit eksempel 3 ikke meget mening, da det kombinerer GET og POST variable...
Brug altid funktion loadVariables() og ikke metoden movieClip.loadVariables(), da funktioner i Flash kører hurtigere end deres tilsvarende metoder...
Du har ikke selv nævnt muligheden loadVariablesNum(), men den tager blot i stedet for target-argumentet, et level-argument. Har du loaded noget i level1, så kan du sende direkte hertil med loadVariablesNum(). Følgende gælder altså:
loadVariables("submit.asp") == loadVariablesNum("submit.asp");
loadVariables("submit.asp", _level0) == loadVariablesNum("submit.asp", 0);
loadVariables("submit.asp", _level12) == loadVariablesNum("submit.asp", 12);
loadVariables("submit.asp", _root) != loadVariablesNum("submit.asp", 0);
Det sidste er selvfølgelig helt generelt. Står du i level0 og loader til _root, så loader du til level0, men står du i level1 og loader til _root, så loader du ikke til 0 men til 1...
Se ActionScript-hjælpen:
loadVariables() :
http://www.macromedia.com/support/flash/action_scripts/actions/loadvariables.htmlloadVariablesNum() :
http://www.macromedia.com/support/flash/ts/documents/loadmovienum.htm (her står, at den ikke er dokumenteret)
movieClip.loadVariables() :
http://www.macromedia.com/support/flash/action_scripts/objects/moviecliploadvariables.htmlHåber det kan bruges...
/Barklund