Avatar billede kalleballe Nybegynder
18. august 2005 - 10:45 Der er 33 kommentarer og
1 løsning

loadvars problem igen

jeg har et loadvars objekt:

myLoadVars = new LoadVars();
       
myLoadVars.userChoice = _global.quizzAnswer;
myLoadVars.Firstname = firstName_input.text;
myLoadVars.Lastname = lastName_input.text;
       
myLoadVars.send(_global.submitUrl,"_self","POST")

problemet er at ligegyldigt  hvad jeg gøre så enten åbnes der et nyt vindue når der postet eller også så forsvinder flashen...

så en gang for alle.

Jeg har en flash fil i et popup vindue, - jeg skal poste nogle vars når jeg trykker på send, - hvad er den bedste syntaks?


vh

KalleBalle
Avatar billede barklund Nybegynder
18. august 2005 - 10:49 #1
Brug sendAndLoad - LoadVars.send er blot erstatning for getURL, hvor man skal POST'e eller GET'e nogle variabler med til den nye side.
Avatar billede kalleballe Nybegynder
18. august 2005 - 10:55 #2
jeg har også brugt sendAndLoad, -

myLoadVars.sendAndLoad(_global.submitUrl,"POST")

problemet er at jeg får et grimt blankt vindue når jeg sender eller også så forsvinder flashen fra 'sit' vindue.. så der er altså noget jeg ikke helt har forstået ;)

vh

KalleBalle
Avatar billede barklund Nybegynder
18. august 2005 - 11:10 #3
Nej, det gør man ikke med sendAndLoad - men du mangler nu også et argument til sendAndLoad:

LoadVars.sendAndLoad(url, svar_objekt, metode);

:)
Avatar billede kalleballe Nybegynder
18. august 2005 - 11:16 #4
altså:

myLoadVars:LoadVars = new LoadVars ();
myLoadVars.userChoice = _global.quizzAnswer;
myLoadVars.Firstname = firstName_input.text;
myLoadVars.Lastname = lastName_input.text;
       
       
var result_lv:LoadVars = new LoadVars ();
result_lv.onLoad = function (success:Boolean)
{
        if (success)
    {
        _parent._parent._parent.slidingQuestionTextOut ();
    }
    else
    {
        error_txt.text = "Error connecting to server.";
    }
};
myLoadVars.sendAndLoad (_global.submitUrl, result_lv, "POST");
Avatar billede kalleballe Nybegynder
18. august 2005 - 11:18 #5
og så skal jeg bare lige fatte hvordan flash får result_lv variablen tilbage fra asp?
Avatar billede kalleballe Nybegynder
18. august 2005 - 11:19 #6
nå nej, - ups, - forkert, - hvordan får flash at vide at det er blevet sendt ok?
Avatar billede barklund Nybegynder
18. august 2005 - 11:54 #7
Hvad tror du success bruges til? Eller misforstår jeg spørgsmålet?
Avatar billede kalleballe Nybegynder
18. august 2005 - 12:06 #8
sorry, - var vist lidt forvirret, - smid lige et svar så du kan få nogle points :)
Avatar billede barklund Nybegynder
18. august 2005 - 12:33 #9
Riiight :)
Avatar billede kalleballe Nybegynder
19. august 2005 - 12:08 #10
akk, - gider du ikke lige at skære det ud i pap, - altså jeg sender til min aspx fætter og så får jeg result_lv tilbage på en eller anden måde? Nej, - jeg forstår det vist ikke :(
Avatar billede barklund Nybegynder
19. august 2005 - 12:15 #11
Altså, hvis din aspx svarer noget i stil med:

footext=Her er en masse tekst

Så kan du i flash kalde denne og læse variablen som:

var myLoadVars:LoadVars = new LoadVars ();
myLoadVars.userChoice = _global.quizzAnswer;
myLoadVars.Firstname = firstName_input.text;
myLoadVars.Lastname = lastName_input.text; 
var result_lv:LoadVars = new LoadVars ();
result_lv.onLoad = function (success:Boolean) {
    if (success) {
        error_txt.text = "så har jeg modtaget "+this.footext;
    } else {
        error_txt.text = "Error connecting to server.";
    }
};
myLoadVars.sendAndLoad (_global.submitUrl, result_lv, "POST");

You see?

--
Morten Barklund
Avatar billede kalleballe Nybegynder
19. august 2005 - 12:56 #12
hvordan svarer min aspx? Jeg mener hvor skal footext være?
Avatar billede barklund Nybegynder
19. august 2005 - 13:06 #13
Hvis du kalder den via HTTP, så er ovenstående det eneste svar, der kommer fra den. Altså hvis du for eksempel åbner den i browseren. Der skal ikke være noget html eller noget som helst - kun ovenstående tekst:

Response.Write "footext=" & some_txt

Agtigt :)

(jaja, det er ikke aspx i know - men derhenaf)

--
Morten Barklund
Avatar billede kalleballe Nybegynder
19. august 2005 - 13:15 #14
øh, - jeg har min flash i en popup, - når jeg trykker send så skal der postes og hvis jeg får 'svar' fra serveren så skal flash vise en kvit side ellers skal den sige "error", - backend nørderne ved ikke hvordan de skal sætte den variabel som de skal sende tilbage til flash :)
Avatar billede barklund Nybegynder
19. august 2005 - 13:25 #15
Du skal jo ikke bruge nogen variabel? Og da du ikke skal det, behøver asp-siden ikke returnere noget som helst - man _skal_ jo ikke sende en variabel :)
Avatar billede kalleballe Nybegynder
19. august 2005 - 13:46 #16
ok, - men hvordan finder flash ud af at det har været en success?

altså hvordan får den sat gang i onLoad functionen...
Avatar billede barklund Nybegynder
19. august 2005 - 13:51 #17
Det gør flash playeren jo for dig :)

Altså, hvis siden svarer og flash playeren kan kalde den og læse et (eventuelt tomt) resultat fra den, så kalder den automatisk onLoad-metoden.

Har du aldrig før brugt callbacks - sådan er hele Flash 6/7/8 bygget op?

--
Morten Barklund
Avatar billede kalleballe Nybegynder
19. august 2005 - 13:52 #18
myLoadVars.sendAndLoad (_global.submitUrl, this, "POST");


myLoadVars.onLoad = function (success:Boolean) {
    if (success) {
        error_txt.text = "så har jeg modtaget "+this.footext;
    } else {
        error_txt.text = "Error connecting to server.";
    }
};

sender ikke noget?
Avatar billede kalleballe Nybegynder
19. august 2005 - 13:53 #19
jo, - jeg har brugt callbacks mange gange ;), - jeg har vist bare ikke helt forstået hvordan de rent faktisk fungere...
Avatar billede kalleballe Nybegynder
19. august 2005 - 13:55 #20
'r'
Avatar billede barklund Nybegynder
19. august 2005 - 13:57 #21
This?

Du kan da ikke skrive this som callback objekt - this er jo din tidslinje, men du har defineret funktionen på lyLoadVars:

myLoadVars.sendAndLoad (_global.submitUrl, myLoadVars, "POST");
Avatar billede kalleballe Nybegynder
19. august 2005 - 14:02 #22
ups når ja :)
Avatar billede kalleballe Nybegynder
19. august 2005 - 14:21 #23
myLoadVars.onLoad = function (success:Boolean) {
    if (success) {
        error_txt.text = "så har jeg modtaget "+this.footext;
    } else {
        error_txt.text = "Error connecting to server.";
    }
};

myLoadVars.sendAndLoad (_global.submitUrl, myLoadVars, "POST");


den går bare over i "Error connecting to server", - men det kan jo naturligvis også være at der rent faktisk er noget galt med serveren ;)
Avatar billede barklund Nybegynder
19. august 2005 - 14:26 #24
Success er false, hvis serveren ikke svarer en status 200 :)

Husk at sider hentes i forhold til html-filens placering. Du kan dog teste inde fra flash ved at skrive den fulde sti til aspx-filen på serveren:

myLoadVars.onLoad = function (success:Boolean) {
    if (success) {
        error_txt.text = "så har jeg modtaget "+this.footext;
    } else {
        error_txt.text = "Error connecting to server.";
    }
};
myLoadVars.sendAndLoad ("http://somedomæne.dk/somefil.aspx", myLoadVars, "POST");

--
Morten Barklund
Avatar billede kalleballe Nybegynder
19. august 2005 - 14:28 #25
jeg har prøvet at teste inde fra flash, - hvis jeg skriver den absolutte sti til aspx filen direkte i browseren så er der en server error, - så det kan jo være at det er der hunden ligger begravet ;)
Avatar billede barklund Nybegynder
19. august 2005 - 14:35 #26
Det kan jo tænkes, at siden fejler helt, hvis den ikke får de rigtige parametre via post - så hvis du ikke sender det rigtige, kan det tænkes at den fejler :)
Avatar billede barklund Nybegynder
19. august 2005 - 14:35 #27
Ethereal er din ven :)
Avatar billede barklund Nybegynder
19. august 2005 - 14:37 #28
(hvis du vil se, hvilke pakker du sender og modtager, så man rent faktisk kan finde ud af, hvorfor asp'en fejler)
Avatar billede kalleballe Nybegynder
19. august 2005 - 14:42 #29
hehe, - shit lyder smart, - men det har jeg ikke tid til :(
Avatar billede kalleballe Nybegynder
19. august 2005 - 15:12 #30
men når jeg bruger:

myLoadVars.send(_global.submitUrl, "POST");

så kommer data fint ind i basen, - nu har jeg så bare det nye blanket vindue at slås med :(
Avatar billede barklund Nybegynder
19. august 2005 - 15:26 #31
sendAndLoad gør det samme som send - men nu har jeg godt nok aldrig brugt send til noget i praksis, og samtidig har jeg aldrig haft problemer med sendAndLoad :)
Avatar billede barklund Nybegynder
19. august 2005 - 15:27 #32
(og det skulle ikke tage mig 4 sekunder med ethereal at finde ud af, hvilke pakker jeg sendte og hvor fejlen lå - men sådan er vi jo så forskellige :))
Avatar billede kalleballe Nybegynder
19. august 2005 - 15:27 #33
det er som om at aspx siden bare ikke bliver kaldt!
Avatar billede kalleballe Nybegynder
19. august 2005 - 15:28 #34
hehe
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