Avatar billede nanna31 Praktikant
18. februar 2002 - 16:37 Der er 17 kommentarer og
1 løsning

loadVariables


Jeg har lidt svært ved at finde rundt i de forskellige måder at benytte loadVariables-kommandoen på, jeg kunne godt tænke mig at kende forskellen (helt præcist) på følgende metoder:

Forskellige versioner af loadvariables:



1. loadVariables (”submit.asp”,””,vars=post);

2. loadVariables ("submit.asp?var1=værdi1",
  movieClip1, "get");

3. loadVariables ("submit.asp?var1=værdi1",mClip1, "post");

4. loadVariables ("submit.asp, “”, "post");

5. loadVariables ("submit.asp?var1=værdi1",mClip1);

6. movieClip1.loadVariables(url, variables);



Har jeg ellers overset nogle metoder ?
Avatar billede hoejrup Nybegynder
18. februar 2002 - 21:16 #1
loadVariables ("submit.asp, ?output?, "post");

/per
Avatar billede pixelpaw Nybegynder
19. februar 2002 - 09:29 #2
Avatar billede barklund Nybegynder
19. februar 2002 - 15:27 #3
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.html
loadVariablesNum() : 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.html

Håber det kan bruges...

/Barklund
Avatar billede nanna31 Praktikant
19. februar 2002 - 16:13 #4
Barklund - det var sgu' et svar med subsistens i, grundigt og udførligt - takker mange gange, hvor ved du alt det fra, hvis jeg må spørge, jeg kunne nemlig ikke selv finde så nøjagtige og specifikke informationer om emnet ?

Hvis jeg må sende dig et lille bitte programmeringsforsøg pr. mail med loadvariables, som jeg ikke fatter, og du kan forklare det (det er meget lille), så fordobler jeg gerne pointene ?
Avatar billede nanna31 Praktikant
19. februar 2002 - 16:24 #5
Jeg har lige et lille spørgsmål til dit svar Barklund - Hvis jeg forstår dig ret, sendes alle variable på pågældende tidslinie til submit.asp, hvis man bruger enten post eller get - metoden i loadvariables-kommandoen (håber det er korrekt?) - mit spørgsmål er så:
hvis man nu udover et par almindelige variable har nogle dynamiske tekstfelter med tekst i, på pågældende tidslinie, bliver disse så også regnet for variable og sendt med til asp-dokumentet ?
Avatar billede barklund Nybegynder
19. februar 2002 - 16:27 #6
For det første min baggrund = F1 (flash-hjælpen har al denne information)

For det andet er dynamiske tekstfelter med variabler lige så meget variabler som alle andre... Så ja... Også inputfelter...
Avatar billede nanna31 Praktikant
19. februar 2002 - 16:34 #7
Jeg har ellers kigget meget i Flashhjælpen, du gennemgår det noget grundigere, synes jeg.

- og måtte jeg sende dig mit problembarn ? det drejer sig om en lille flashfil med tilhørende asp-dokument.
Avatar billede barklund Nybegynder
19. februar 2002 - 16:38 #8
Kan du ikke bare beskrive det først og fremmest... Jeg kan ikke ASP-syntax, men nok alligevel give dig hjælp til retningen af din løsning...
Avatar billede nanna31 Praktikant
19. februar 2002 - 16:45 #9
Det ta'r lang tid at beskrive i forhold til hvor simpelt det er, og aspen fylder een linie, og er vist ok som den er. Gider du ikke prøve ? - og jeg har ikke virus. Du får selvfølg dine points uanset.
Avatar billede barklund Nybegynder
19. februar 2002 - 16:53 #10
yup... morten@barklund.dk
Avatar billede nanna31 Praktikant
19. februar 2002 - 16:58 #11
Takker - jeg sender filerne lige om lidt :)
Avatar billede barklund Nybegynder
19. februar 2002 - 17:53 #12
Har du et link til et sted, hvor det ligger? Jeg kan ikke se, hvad problemet er? (Og kan ikke teste din .asp uden server)... Den ekkoer da blot, det du sender til den som variablen "test"?
Avatar billede nanna31 Praktikant
19. februar 2002 - 18:07 #13
I displayfeltet ender der med at stå : "hej?input1=tekst1"  - det er da et mystisk resultat ? hvorfor skriver den ikke bare "hej" eller hvorfor skriver den f.eks ikke "hej?input2=tekst2" ? eller dem begge ?
Avatar billede nanna31 Praktikant
19. februar 2002 - 18:13 #14
Den måde hvorpå jeg benytter loadVariables på i send-knappen - giver den mening ?
Avatar billede barklund Nybegynder
20. februar 2002 - 21:15 #15
Den forbindelse, som jeg sad på i går gik helt ned og så kom jeg fra det igen...

Du kalder vist nok (har ikke Flash ved hånden):

on(release) {
    loadVariables("submit.asp?test=hej",_root.something, GET);
}

Samtidig med, at du har to variabler defineret som:

input1 = "tekst1";
input2 = "tekst2";

Det bliver så sendt som:

"submit.asp?test=hej?input1=tekst1&input2=tekst2"

Kan du selv se, hvad der går galt? Du laver et "?" men det gør GET jo også... Derfor bliver variablerne defineret i .asp'en som:

test = "hej?input1=tekst1";
input2 = "tekst2";

Derfor

/Barklund
Avatar billede nanna31 Praktikant
20. februar 2002 - 23:21 #16
Glad for at du er tilbage Barklund, jeg har haft så meget bøvl med det her problem.

Men så er det altså fordi "get" genererer sit eget "?" at det virker fint med "post" men ikke med "get" - kan det passe, at post ikke genererer et "?" som get gør det?

Øverst nævner du, at mit eksempel nr. 3 ikke gi'r mening ? - det virker ellers fint nok med "post" - alle variable på timelinen sendes plus den ekstra, som ryger med i søgestrengen - hvad mener du, der går galt da ?

Jeg håber du gider blive ved spørgsmålet her lidt endnu, der er stadig lige et par mystiske fænomener, jeg ikke fatter :) - lad os tage det her først.
Avatar billede barklund Nybegynder
21. februar 2002 - 14:14 #17
Følgende finder jeg som god programmeringsstil:

loadVariables("submit.asp","",GET); eller
loadVariables("submit.asp","",POST); eller
loadVariables("submit.asp?minvar=hej");

Som du selv fandt ud af, gav det problemer at kombinere 1 og 3. At kombinere 2 og 3 er en mulighed, men det er ikke særlig kønt.. Enten bruger man POST eller også bruger man GET...

POST genererer ikke noget "?", da den ikke sender nogen GET-variabler (det er variablerne i url-kaldet)... POST variabler sendes skjult med uden om url'en...

/Barklund
Avatar billede nanna31 Praktikant
21. februar 2002 - 15:42 #18
Tak igen Barklund - nu har jeg fuldstændigt styr på det. Håber jeg kan gengælde din hjælpsomhed, når jeg bliver klogere :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester