Laden von externen Daten

Flash Player 9 und höher, Adobe AIR 1.0 und höher

ActionScript 3.0 umfasst Mechanismen zum Laden von Daten aus externen Quellen. Diese Quellen können statischen Inhalt, wie etwa Textdateien, oder dynamischen Inhalt, der von einem Webskript erzeugt wird, bereitstellen. Die Daten können auf verschiedene Weise formatiert sein, und ActionScript bietet Funktionen, um die Daten zu dekodieren und darauf zuzugreifen. Außerdem können Sie als Teil des Datenabrufverfahrens Daten an den externen Server senden.

Verwenden der URLRequest-Klasse

Viele APIs, die externe Daten laden, verwenden die URLRequest-Klasse, um die Eigenschaften der erforderlichen Netzwerkanforderung zu definieren.

URLRequest-Eigenschaften

Die folgenden Eigenschaften eines URLRequest-Objekts können in jeder Sicherheits-Sandbox festgelegt werden:

Eigenschaft

Beschreibung

contentType

Der MIME-Inhaltstyp von Daten, die mit der URL-Anforderung gesendet wurden. Wenn kein Wert für „contentType“ eingestellt ist, werden Werte als application/x-www-form-urlencoded gesendet.

data

Ein Objekt, das mit der URL-Anforderung zu übertragende Daten enthält.

digest

Ein String, der die vorzeichenbehaftete Adobe-Plattformkomponente, die im Adobe® Flash® Player-Cache gespeichert (bzw. daraus abgerufen) werden soll, eindeutig identifiziert.

method

Die HTTP-Anforderungsmethode, wie beispielsweise GET oder POST: (Der in der Sicherheitsdomäne der AIR-Anwendung ausgeführte Inhalt kann andere Strings als "GET" oder "POST" für die method -Eigenschaft einstellen. Jedes HTTP-Verb ist zulässig, und "GET" ist die Standardmethode. Siehe AIR-Sicherheit .)

requestHeaders

Das Array der an die HTTP-Anforderung anzuhängenden HTTP-Anforderungsheader. Beachten Sie, dass das Einstellen der Header in Flash Player und in AIR-Inhalt, der außerhalb der Anwendungssicherheits-Sandbox ausgeführt wird, Beschränkungen unterliegt.

url

Gibt die anzufordernde URL an.

In AIR können Sie zusätzliche Eigenschaften der URLRequest-Klasse festlegen, die nur für AIR-Inhalt zur Verfügung stehen, der in der Anwendungssicherheits-Sandbox ausgeführt wird. URLs von Inhalt in der Anwendungs-Sandbox können mithilfe neuer URL-Schemas (zusätzlich zu Standardschemas wie file und http ) definiert werden.

Eigenschaft

Beschreibung

followRedirects

Legt fest, ob Weiterleitungen befolgt werden ( true , der Standardwert) oder nicht ( false ). Dies wird nur in der AIR-Anwendungs-Sandbox unterstützt.

manageCookies

Gibt an, ob der HTTP-Protokollstapel bei dieser Anforderung Cookies verwalten soll ( true , der Standardwert) oder nicht ( false ). Das Festlegen dieser Eigenschaft wird nur in der AIR-Anwendungs-Sandbox unterstützt.

authenticate

Legt fest, ob Authentifizierungsanforderungen für diese Anforderung verarbeitet werden ( true ). Das Festlegen dieser Eigenschaft wird nur in der AIR-Anwendungs-Sandbox unterstützt. Anforderungen werden standardmäßig authentifiziert. Falls der Server die Anzeige von Benutzerangaben erfordert, wird ein Dialogfeld zur Authentifizierung geöffnet. Sie können auch den Benutzernamen und das Kennwort mit der URLRequestDefaults-Klasse festlegen; siehe Festlegen der URLRequest-Standardeinstellungen (nur AIR) .

cacheResponse

Gibt an, ob Antwortdaten für diese Anforderung zwischengespeichert werden sollen. Das Festlegen dieser Eigenschaft wird nur in der AIR-Anwendungs-Sandbox unterstützt. Die Standardeinstellung ist, die Antwort zwischenzuspeichern ( true ).

useCache

Legt fest, ob der lokale Cache überprüft wird, bevor diese URLRequest Daten abruft. Das Festlegen dieser Eigenschaft wird nur in der AIR-Anwendungs-Sandbox unterstützt. Die Standardeinstellung lautet true , d. h. falls verfügbar wird die lokal zwischengespeicherte Version wird verwendet.

userAgent

Legt den Benutzer-Agent-String fest, der in der HTTP-Anforderung verwendet wird.

Hinweis: Die HTMLLoader-Klasse bietet ähnliche Eigenschaften für Einstellungen, die sich auf Inhalt beziehen, der mit einem HTMLLoader-Objekt geladen wurde. Weitere Informationen finden Sie unter HTMLLoader-Klasse .

Festlegen der URLRequest-Standardeinstellungen (nur AIR)

Mithilfe der URLRequestDefaults-Klasse können Sie anwendungsspezifische Standardeinstellungen für URLRequest-Objekte definieren. Im folgenden Beispiel werden die Standardwerte für die manageCookies - und useCache -Eigenschaften festgelegt. Für alle neuen URLRequest-Objekte werden die angegebenen Werte dieser Eigenschaften anstelle der regulären Standardeinstellungen verwendet:

URLRequestDefaults.manageCookies = false; 
URLRequestDefaults.useCache = false;
Hinweis: Die URLRequestDefaults-Klasse ist nur für Inhalt, der in Adobe AIR ausgeführt wird, definiert. In Flash Player gibt es dafür keine Unterstützung.

Die URLRequestDefaults-Klasse enthält die setLoginCredentialsForHost() -Methode, mit der Sie einen standardmäßigen Benutzernamen und ein Kennwort für einen bestimmten Host festlegen können. Dieser Host, der im hostname-Parameter der Methode definiert ist, kann eine Domäne sein, zum Beispiel "www.example.com" oder eine Domäne und eine Portnummer, zum Beispiel "www.example.com:80" . Beachten Sie, dass "example.com" , "www.example.com" und "sales.example.com" jeweils als eindeutige Hosts angesehen werden.

Diese Benutzerangaben werden nur verwendet, wenn sie der Server erforderlich macht. Wenn der Benutzer bereits authentifiziert wurde (zum Beispiel über das Dialogfeld für die Authentifizierung), wird durch Aufruf der setLoginCredentialsForHost() -Methode der authentifizierte Benutzer nicht geändert.

Mit dem folgenden Code werden der Standardbenutzername und das Kennwort für Anforderungen an www.example.com festgelegt:

URLRequestDefaults.setLoginCredentialsForHost("www.example.com", "Ada", "love1816$X"); 

Die URLRequestDefaults-Einstellungen gelten nur für die aktuelle Anwendungsdomäne, mit einer Ausnahme. Die an die setLoginCredentialsForHost() -Methode übergebenen Benutzerinformationen werden für Anforderungen in jeder Anwendungsdomäne innerhalb der AIR-Anwendung benutzt.

Weitere Informationen finden Sie in der Beschreibung der URLRequestDefaults-Klasse im ActionScript 3.0-Referenzhandbuch für die Adobe Flash-Plattform .

URI-Schemas

Die URI-Standardschemas, wie beispielsweise die folgenden, können in Anforderungen von jeder Sicherheits-Sandbox verwendet werden:

http: und https:

Verwenden Sie diese Schemas für standardmäßige Internet-URLs (genau wie bei der Verwendung in einem Webbrowser).

file:

Verwenden Sie file: zur Angabe der URL einer Datei, die sich im lokalen Dateisystem befindet. Zum Beispiel:

file:///c:/AIR Test/test.txt 

In AIR können Sie auch eines der folgenden Schemas verwenden, wenn Sie eine URL für Inhalt definieren, der in der Sicherheits-Sandbox der Anwendung ausgeführt wird:

app:

Geben Sie mit app: einen Pfad relativ zum Stamm der installierten Anwendung an. Beispielsweise verweist der folgende Pfad auf ein „resources“ genanntes Unterverzeichnis im Verzeichnis der installierten Anwendung:

app:/resources 

Wenn eine AIR-Anwendung über ADL (AIR Debug Launcher) gestartet wird, ist das Anwendungsverzeichnis das Verzeichnis, das die Deskriptordatei der Anwendung enthält.

Die URL (und die url -Eigenschaft) eines mit File.applicationDirectory erstellten File-Objekts verwenden das URI-Schema app , wie im Folgenden gezeigt:

var dir:File = File.applicationDirectory; 
dir = dir.resolvePath("assets"); 
trace(dir.url); // app:/assets 

app-storage:

Geben Sie mit app-storage: einen Pfad relativ zum Datenspeicherverzeichnis der installierten Anwendung an. Für jede installierte Anwendung (und jeden Benutzer) erstellt AIR ein eindeutiges Anwendungsspeicherverzeichnis, ein nützlicher Ort zum Speichern anwendungsspezifischer Daten. Der folgende Pfad etwa verweist von einem File-Objekt auf eine Datei mit dem Namen „prefs.xml“ in einem settings-Verzeichnis des Anwendungsspeicherverzeichnisses:

app-storage:/settings/prefs.xml 

Die URL (und die url -Eigenschaft) eines mit File.applicationStorageDirectory erstellten File-Objekts verwenden das URI-Schema app-storage , wie im Folgenden gezeigt:

var prefsFile:File = File.applicationStorageDirectory; 
prefsFile = prefsFile.resolvePath("prefs.xml"); 
trace(dir.prefsFile); // app-storage:/prefs.xml 

mailto:

Sie können das mailto-Schema in URLRequest-Objekten verwenden, die an die navigateToURL() -Funktion übergeben werden. Siehe Öffnen einer URL in einer anderen Anwendung .

Mit einem URLRequest-Objekt, das eines dieser URI-Schemas verwendet, können Sie die URL-Anforderung für mehrere verschiedene Objekte, wie etwa ein FileStream- oder ein Sound-Objekt, definieren. Sie können diese Schemas auch mit HTML-Inhalt, der in AIR ausgeführt wird, verwenden; z. B. im src -Attribut eines img -Tags.

Diese AIR-spezifischen URI-Schemas ( app: und app-storage: ) können Sie jedoch nur in Inhalt in der Sicherheits-Sandbox der Anwendung verwenden. Weitere Informationen finden Sie unter AIR-Sicherheit .

Einstellen von URL-Variablen

Variablen können zwar direkt in einem URL-String hinzugefügt werden, doch möglicherweise ist es einfacher, die für eine Anforderung erforderlichen Variablen über die URLVariables-Klasse zu definieren.

Es gibt drei Möglichkeiten, um einem URLVariables-Objekt Parameter hinzuzufügen:

  • Im URLVariables-Konstruktor

  • Mit der URLVariables.decode() -Methode

  • Als dynamische Eigenschaften des URLVariables-Objekts selbst

Das folgende Beispiel veranschaulicht alle drei Möglichkeiten und zeigt auch, wie die Variablen einem URLRequest-Objekt zugewiesen werden:

var urlVar:URLVariables = new URLVariables( "one=1&two=2" ); 
urlVar.decode("amp=" + encodeURIComponent( "&" ) ); 
urlVar.three = 3; 
urlVar.amp2 = "&&"; 
trace(urlVar.toString()); //amp=%26&amp2=%26%26&one=1&two=2&three=3 
 
var urlRequest:URLRequest = new URLRequest( "http://www.example.com/test.cfm" ); 
urlRequest.data = urlVar;

Bei der Definition von Variablen innerhalb des URLVariables-Konstruktors oder innerhalb der URLVariables.decode() -Methode müssen die Zeichen, die in einem URI-String eine besondere Bedeutung haben, in URL-Kodierung formatiert werden. Wenn ein Parametername oder ein Parameterwert beispielsweise das &-Zeichen enthält, müssen Sie das & als %26 kodieren, da dieses Zeichen als Trennzeichen für Parameter dient. Zu diesem Zweck kann die encodeURIComponent() -Funktion auf oberster Ebene verwendet werden.

Verwenden der URLLoader-Klasse

Mithilfe der URLLoader-Klasse können Sie eine Anforderung an einen Server senden und auf die zurückgegebenen Informationen zugreifen. Außerdem können Sie mithilfe der URLLoader-Klasse auf Dateien im lokalen Dateisystem zugreifen, wenn der lokale Dateizugriff zulässig ist (beispielsweise in der Sandbox „local-with-filesystem“ von Flash Player oder in der Sandbox der AIR-Anwendung). Die URLLoader-Klasse lädt die Daten von einer URL als Text, Binärdaten oder URL-kodierte Variablen herunter. Die URLLoader-Klasse löst verschiedene Ereignisse aus, wie zum Beispiel complete , httpStatus , ioError , open , progress und securityError .

Das Ereignisverarbeitungsmodell in ActionScript 3.0 unterscheidet sich ganz erheblich von dem ActionScript 2.0-Modell, das die Ereignisprozeduren LoadVars.onData , LoadVars.onHTTPStatus und LoadVars.onLoad verwendet. Weitere Informationen zur Ereignisverarbeitung in ActionScript 3.0 finden Sie unter Verarbeiten von Ereignissen .

Die heruntergeladenen Daten stehen erst zur Verfügung, wenn der Download abgeschlossen ist. Sie können den Fortschritt des Downloads überwachen (geladene Byte und Byte gesamt), indem Sie auf die Auslösung des progress -Ereignisses warten. Doch wenn eine Datei sehr schnell geladen wird, wird möglicherweise kein progress -Ereignis ausgelöst. Sobald eine Datei erfolgreich heruntergeladen wurde, wird das complete -Ereignis ausgelöst. Durch Einstellen der URLLoader-Eigenschaft dataFormat können Sie festlegen, dass Daten als Text, in Form von unformatierten Binärdaten oder als URLVariables-Objekt empfangen werden.

Die URLLoader.load() -Methode (und wahlweise der Konstruktor der URLLoader-Klasse) arbeiten mit einem Parameter, request , bei dem es sich um ein URLRequest-Objekt handelt. Ein URLRequest-Objekt enthält alle Informationen einer HTTP-Anforderung, beispielsweise die Ziel-URL, die Anforderungsmethode ( GET oder POST ), zusätzliche Header-Informationen sowie den MIME-Typ.

Im folgenden Beispiel wird ein XML-Paket zu einem serverseitigen Skript hochgeladen:

var secondsUTC:Number = new Date().time; 
var dataXML:XML =  
    <clock> 
        <time>{secondsUTC}</time> 
    </clock>; 
var request:URLRequest = new URLRequest("http://www.yourdomain.com/time.cfm"); 
request.contentType = "text/xml"; 
request.data = dataXML.toXMLString(); 
request.method = URLRequestMethod.POST; 
var loader:URLLoader = new URLLoader(); 
loader.load(request); 

Mit diesem Codefragment wird ein XML-Dokument namens dataXML erstellt, welches das XML-Paket enthält, das an den Server gesendet wird. In diesem Beispiel wird die URLRequest-Eigenschaft contentType auf "text/xml" eingestellt und das XML-Dokument wird der URLRequest-Eigenschaft data zugewiesen. Abschließend erstellt das Beispiel ein URLLoader-Objekt und sendet die Anforderung über die load() -Methode an das Remote-Skript.

Verwenden der URLStream-Klasse

Die URLStream-Klasse ermöglicht den Zugriff auf die heruntergeladenen Daten direkt beim Datenempfang. Mit der URLStream-Klasse können Sie außerdem einen Stream beenden, bevor der Download abgeschlossen ist. Die heruntergeladenen Daten stehen als unformatierte Binärdaten zur Verfügung.

Verwenden Sie beim Lesen von Daten aus einem URLStream-Objekt die bytesAvailable -Eigenschaft, um festzustellen, ob vor dem Lesen ausreichend Daten zur Verfügung stehen. Eine EOFError-Ausnahme wird ausgelöst, wenn Sie versuchen, mehr Daten zu lesen als derzeit verfügbar sind.

Das httpResponseStatus-Ereignis (AIR)

In Adobe AIR löst die URLStream-Klasse ein httpResponseStatus -Ereignis zusätzlich zum httpStatus -Ereignis aus. Das httpResponseStatus -Ereignis wird ausgelöst, bevor Antwortdaten empfangen werden. Das httpResponseStatus -Ereignis (das von der HTTPStatusEvent-Klasse dargestellt wird) enthält eine responseURL -Eigenschaft (die URL, die die Antwort zurückgegeben hat) und eine responseHeaders -Eigenschaft (ein Array von URLRequestHeader-Objekten, die die Antwort-Header der zurückgegebenen Antwort darstellen).

Laden von Daten aus externen Dokumenten

Wenn Sie dynamische Anwendungen erstellen, kann es hilfreich sein, Daten aus externen Dateien oder aus serverseitigen Skripts zu laden. Auf diese Weise können Sie dynamische Anwendungen erstellen, ohne dass Sie Ihre Anwendung bearbeiten oder neu kompilieren müssen. Angenommen, Sie erstellen eine Anwendung „Tipp des Tages“. In diesem Fall können Sie ein serverseitiges Skript erstellen, das einen zufälligen Tipp aus einer Datenbank abruft und einmal am Tag in einer Textdatei speichert. Dann kann Ihre Anwendung die Inhalte einer statischen Textdatei laden, anstatt jedes Mal die Datenbank abzufragen.

Der folgende Codeausschnitt erstellt ein URLRequest- und ein URLLoader-Objekt, welche die Inhalte einer externen Textdatei namens „params.txt“ laden:

var request:URLRequest = new URLRequest("params.txt"); 
var loader:URLLoader = new URLLoader(); 
loader.load(request);
In der Standardeinstellung laden Flash Player und Adobe AIR die Inhalte mithilfe der Methode HTTP GET , wenn Sie keine Anforderungsmethode definieren. Um die Anforderung mithilfe der POST -Methode zu senden, geben Sie für die request.method -Eigenschaft den Wert POST mittels der statischen Konstante URLRequestMethod.POST an. Siehe hierzu auch das folgende Beispiel:
var request:URLRequest = new URLRequest("sendfeedback.cfm"); 
request.method = URLRequestMethod.POST;

Das externe Dokument „params.txt“, das zur Laufzeit geladen wird, enthält die folgenden Daten:

monthNames=January,February,March,April,May,June,July,August,September,October,November,December&dayNames=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday

Die Datei enthält zwei Parameter: monthNames und dayNames . Jeder Parameter enthält eine durch Kommas getrennte Liste, die als Strings geparst wird. Sie können diese Liste mit der String.split() -Methode in einen Array aufteilen.

Vermeiden Sie das Verwenden von reservierten Wörtern oder Sprachkonstrukten in externen Datendateien, da andernfalls das Lesen und Debuggen Ihres Codes schwieriger wird.
Nachdem die Daten geladen wurden, wird das complete -Ereignis ausgelöst, und der Inhalt des externen Dokuments steht der URLLoader-Eigenschaft data zur Verfügung. Dies wird im folgenden Code gezeigt:
function completeHandler(event) 
{ 
    var loader2 = event.target; 
    air.trace(loader2.data); 
}

Wenn das Remote-Dokument Name-Wert-Paare enthält, können Sie die Daten mit der URLVariables-Klasse parsen, indem Sie den Inhalt der geladenen Datei wie folgt übergeben:

private function completeHandler(event:Event):void 
{ 
    var loader2:URLLoader = URLLoader(event.target); 
    var variables:URLVariables = new URLVariables(loader2.data); 
    trace(variables.dayNames); 
}

Jedes Name-Wert-Paare aus der externen Datei wird als eine Eigenschaft im URLVariables-Objekt erstellt. Im vorausgehenden Beispiel wird jede Eigenschaft im Variablenobjekt wie ein String behandelt. Handelt es sich beim Wert des Name-Wert-Paars um eine Liste mit Elementen, können Sie den String durch Aufrufen der String.split() -Methode wie folgt in ein Array umwandeln:

var dayNameArray:Array = variables.dayNames.split(",");
Wenn Sie numerische Daten aus externen Textdateien laden, wandeln Sie die Werte mithilfe einer Funktion auf oberster Ebene, wie z. B. int() , uint() oder Number() , in numerische Werte um.

Alternativ zum Laden der Inhalte der externen Datei als String und dem Erstellen eines neuen URLVariables-Objekts können Sie die URLLoader.dataFormat -Eigenschaft auf eine der statischen Eigenschaften der URLLoaderDataFormat-Klasse einstellen. Die drei möglichen Werte der URLLoader.dataFormat -Eigenschaft lauten:

  • URLLoaderDataFormat.BINARY – Die Eigenschaft URLLoader.data enthält Binärdaten, die in einem ByteArray-Objekt gespeichert sind.

  • URLLoaderDataFormat.TEXT – Die Eigenschaft URLLoader.data enthält Text in einem String-Objekt.

  • URLLoaderDataFormat.VARIABLES – Die Eigenschaft URLLoader.data enthält URL-kodierte Variablen, die in einem URLVariables-Objekt gespeichert sind.

Der folgende Code zeigt, wie das Einstellen der Eigenschaft URLLoader.dataFormat auf URLLoaderDataFormat.VARIABLES es Ihnen ermöglicht, geladene Daten automatisch in ein URLVariables-Objekt zu analysieren:

package 
{ 
    import flash.display.Sprite; 
    import flash.events.*; 
    import flash.net.URLLoader; 
    import flash.net.URLLoaderDataFormat; 
    import flash.net.URLRequest; 
 
    public class URLLoaderDataFormatExample extends Sprite 
    { 
        public function URLLoaderDataFormatExample() 
        { 
            var request:URLRequest = new URLRequest("http://www.[yourdomain].com/params.txt"); 
            var variables:URLLoader = new URLLoader(); 
            variables.dataFormat = URLLoaderDataFormat.VARIABLES; 
            variables.addEventListener(Event.COMPLETE, completeHandler); 
            try 
            { 
                variables.load(request); 
            }  
            catch (error:Error) 
            { 
                trace("Unable to load URL: " + error); 
            } 
        } 
        private function completeHandler(event:Event):void 
        { 
        var loader:URLLoader = URLLoader(event.target); 
        trace(loader.data.dayNames); 
        } 
    } 
}
Hinweis: Der Standardwert für URLLoader.dataFormat ist URLLoaderDataFormat.TEXT .

Das folgende Beispiel zeigt, dass XML aus einer externen Datei auf die gleiche Weise geladen wird wie URLVariables. Sie können eine URLRequest-Instanz und eine URLLoader-Instanz erstellen, um mit ihnen ein remotes XML-Dokument herunterzuladen. Nachdem die Datei vollständig heruntergeladen wurde, wird das Event.COMPLETE -Ereignis ausgelöst, und die Inhalte der externen Datei werden in eine XML-Instanz umgewandelt, die Sie mit XML-Methoden und -Eigenschaften analysieren können.

package 
{ 
    import flash.display.Sprite; 
    import flash.errors.*; 
    import flash.events.*; 
    import flash.net.URLLoader; 
    import flash.net.URLRequest; 
 
    public class ExternalDocs extends Sprite 
    { 
        public function ExternalDocs() 
        { 
            var request:URLRequest = new URLRequest("http://www.[yourdomain].com/data.xml"); 
            var loader:URLLoader = new URLLoader(); 
            loader.addEventListener(Event.COMPLETE, completeHandler); 
            try 
            { 
                loader.load(request); 
            } 
            catch (error:ArgumentError) 
            { 
                trace("An ArgumentError has occurred."); 
            } 
            catch (error:SecurityError) 
            { 
                trace("A SecurityError has occurred."); 
            } 
        } 
        private function completeHandler(event:Event):void 
        { 
            var dataXML:XML = XML(event.target.data); 
            trace(dataXML.toXMLString()); 
        } 
    } 
}

Kommunizieren mit externen Skripts

Sie können die URLVariables-Klasse neben dem Laden von externen Datendateien auch zum Senden von Variablen an ein serverseitiges Skript und zum Bearbeiten der Antwort des Servers verwenden. Dies ist z. B. nützlich, wenn Sie ein Spiel programmieren und das Ergebnis des Benutzers an einen Server senden möchten, um zu berechnen, ob es zur Bestenliste hinzugefügt werden sollte, oder um die Anmeldeinformationen des Benutzers zur Validierung an einen Server zu senden. Ein serverseitiges Skript kann den Benutzernamen und das Kennwort verarbeiten, kann sie anhand einer Datenbank validieren und ggf. die Gültigkeit der vom Benutzer eingegebenen Benutzerangaben bestätigen.

Der folgende Codeausschnitt erstellt ein URLVariables-Objekt namens variables , das ein neues Objekt mit der Bezeichnung name erstellt. Als Nächstes wird ein URLRequest-Objekt erstellt, mit dem die URL des serverseitigen Skripts, an das die Variablen gesendet werden sollen, angegeben wird. Dann legen Sie mit der method -Eigenschaft des URLRequest-Objekts fest, dass die Variablen als eine POST -Anforderung von HTTP gesendet werden. Um das URLVariables-Objekt zur URL-Anforderung hinzuzufügen, stellen Sie die data -Eigenschaft des URLRequest-Objekts auf das zuvor erstellte URLVariables-Objekt ein. Daraufhin wird die URLLoader-Instanz erstellt, und die URLLoader.load() -Methode wird aufgerufen, die die Anforderung einleitet.

var variables:URLVariables = new URLVariables("name=Franklin"); 
var request:URLRequest = new URLRequest(); 
request.url = "http://www.[yourdomain].com/greeting.cfm"; 
request.method = URLRequestMethod.POST; 
request.data = variables; 
var loader:URLLoader = new URLLoader(); 
loader.dataFormat = URLLoaderDataFormat.VARIABLES; 
loader.addEventListener(Event.COMPLETE, completeHandler); 
try 
{ 
    loader.load(request); 
} 
catch (error:Error) 
{ 
    trace("Unable to load URL"); 
} 
 
function completeHandler(event:Event):void 
{ 
    trace(event.target.data.welcomeMessage); 
}

Der folgende Code enthält den Inhalt des Adobe ColdFusion®-Dokuments „greeting.cfm“, das im vorhergehenden Beispiel verwendet wurde:

<cfif NOT IsDefined("Form.name") OR Len(Trim(Form.Name)) EQ 0> 
    <cfset Form.Name = "Stranger" /> 
</cfif> 
<cfoutput>welcomeMessage=#UrlEncodedFormat("Welcome, " & Form.name)# 
</cfoutput>