Avatar billede hauge1212 Nybegynder
10. september 2010 - 09:55 Der er 3 kommentarer og
1 løsning

AS3 - Henter ikke data fra xml når køres fra webserver

Jeg har et lille flash program, der henter data ind fra et xml dokument via URLLoader klassen. Xml data'ene bliver fint hentet ind og placeret når swf filen kører lokalt på min computer, men når filerne (swf og as) bliver lagt online, hentet intet ind.

Er der en eller anden sikkerhedsting jeg har overset? Xml data'ene hentes fra det samme domæne som flash filerne ligger på.

Min funktion til at hentet data ind er som følgende:

this.urlLoader = new URLLoader();
this.urlLoader.load(new URLRequest(this.httpUrl));
                this.urlLoader.addEventListener(Event.COMPLETE, function(e:Event) {
    this.xmlData = new XML(e.target.data);
    xmlData = this.xmlData;
    for each(var field in contentTypes[this.xmlData.data.row.CType].fields) {
        if(field == 'bodytext') {
            renderBodytext();
        }
        if(field == 'image') {
            renderImage();
        }
    }
});
Avatar billede hauge1212 Nybegynder
10. september 2010 - 13:42 #1
Har fundet ud af at det skyldes at xml filen ikke ligger på det samme domæne alligevel (fra andet subdomæne). Hvis den gør dette, så virker det.

Nogen der ved om man kan indstille/hvor man kan indstille rettigheder for swf filen? Har sat en <param name="allowScriptAccess" value="always" /> ind i html filen, men måske det ikke er korrekt forstået af mig at den så burde at rettigheder fra alle domæner...
Avatar billede Slettet bruger
21. september 2010 - 10:50 #2
Ja, det gør du ved at placere denne linie som noget af det første:

Security.allowDomain("*");

Herudover skal du ha' en crossdomain i roden på stedet hvor dit feed/XML-filen trækkes fra (se her: http://jacob-jensen.blogspot.com/2010/06/flashvalley-flash-tutorials.html)

På denne måde fortæller du både din Flash-app at den må hente XML-data fra potentielt usikre kilder + at du fortæller din XML-server at den gerne må servere data for elementer, udenfor sit eget domæne.
Avatar billede hauge1212 Nybegynder
21. september 2010 - 11:33 #3
Tak for det.

Har dog ikke mulighed for at pille i min xml, da den genereres af typo3. Men Security.allowDomain("*"); burde vel være nok.
Avatar billede Slettet bruger
21. september 2010 - 12:20 #4
Nej OK - jeg er ret sikker på, det er påkrævet - men hvis den hostes af Typo3, så formoder jeg at de allerede HAR en crossdomain.xml liggende på serveren der tillader læseadgang fra andre domæner.

Her er er et eksempel - der er åbnet for en række topdomæner + en af vores servere: http://danskespil.dk/crossdomain.xml
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