ActionScript 3.0/Externe-Bestanden: verschil tussen versies

Comuniceren met een webserver aangemaakt.
(→‎Een aanvraag doen naar een bestand: Laatste stuk toegevoegd over hoe je meerdere variabelen kunt lezen.)
(Comuniceren met een webserver aangemaakt.)
== Communiceren met een webserver ==
In sommige gevallen is het handig om cantact te leggen met een server en zelfs daaraan gekoppelde databases.<br>
Hiervoor gebruik je precies dezelfde klassen als voor een normaal bestand.<br>
Maar het voordeel van een server is dat deze ook gebruikersinvoer kan verwerken. In dit voorbeeld maken we gebruik van een simpel [[PHP]] script.<br>
<source lang="php">
<?php
//Bestandsnaam: communicatie.php
//Maak een variabele aan voor de gebruikersinvoer
$message = $_POST["msg"];
//Kijk of er iets in is meegeven.
if ($message == ""){
//Er is geen bericht meegestuurd
echo "response=Helaas, er is geen bericht ontvangen.";
}
else{
//Er is een bericht meegestuurd.
echo "response=We hebben je bericht ontvangen.&msg=$message";
}
?>
</source>
Merk hier op dat de ''echo'' statements een URL gecodeerde string uitvoeren, dit maakt het later uitlezen van een variabele gemakkelijker.<br>
Om een gegevens naar een server te zenden heb je nog een extra klasse nodig: ''URLVariables''.
<source lang="actionscript3">
import flash.net.URL variables;
//Maak een nieuwe variabele aan voor de variabelen die je wilt versturen.
var variabelen:URLVariables = new URLVariables("msg=Hello World!");
/*je kunt direct alle variabelen als een string invoeren, maar je kunt deze ook later bewerken:
variabelen.msg1 = "Hello";
variabelen.msg2 = "World!";
*/
var aanvraag:URLrequest = new URLRequest("http://www.jouwdomein.nl/communicatie.php");
//Geef altijd het hele adres van het bestand op (m.u.v. index.php). Hier kan ook gebruik worden gemaakt van een ip4-adres.
aanvraag.method = URLRequestMethod.POST;
//De methode moet overeenkomen met de manier waarop de server de variabelen verwacht, in dit geval POST.
//Vervolgens voeg je de gegevens toe aan de aanvraag.
aanvraag.data = variabelen;
//Daarna maak je een variabele van het klasse loader aan.
var lader:URLLoader = new URLLoader ();
//Voeg een evenListener toe voor wanneer het laden voltooid is.
lader.addEventListener(Event.COMPLETE, onComplete);
//Daarna is het belangrijk om aan te geven hoe de data worden verzonden.
lader.dataFormat = URLLoaderDataFormat.VARIABLES;
/*In dit geval gebruik je VARIABLES, omdat het variabelen zijn.
Dit is direct ook de meest gebruikte manier om variablen te versturen.*/
Daarna laad je de aanvraag.
lader.load(aanvraag);
 
function onComplete(e:Event):void
{
trace(lader.data.response);
//Als alles werkt: OUTPUT: We hebben je bericht ontvangen.
trace(lader.data.msg);
//OUTPUT: Hello World!
}
</source>
 
{{sub}}
12

bewerkingen

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.