Hacer un sendAndLoad en Actionscript 3.0
sendAndLoad permitía enviar información a un fichero externo (PHP, ASP o similar) y recibir después información de este. En AS3 ya no se puede utilizar esta función, pero en su lugar se puede utilizar el siguiente código (en el ejemplo envio dos numeros a un PHP, que los sumará y devolverá el resultado). El php puede ser como este:
1 2 3 4 5 6 |
<?php $numero1 = htmlentities($_POST[numero1]); $numero2 = htmlentities($_POST[numero2]); $suma = $numero1 + $numero2; echo "suma=" . $suma; ?> |
Y el Actionscript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
//Importo las clases necesarias import flash.display.Sprite; import flash.net.URLRequest; import flash.net.URLVariables; import flash.net.sendToURL; //Almaceno la url que vamos a cargar var url:String = "http://www.esedeerre.com/ejemplos/as2php/intercambio/sumar.php"; //Creo las variables para enviar y recibir la informacion var enviar:URLRequest = new URLRequest(url); var recibir:URLLoader = new URLLoader(); //Creo la variable que va a ir dentro de enviar, con los campos que tiene que recibir el PHP. //En este caso son numero1 y numero2 var variables:URLVariables = new URLVariables(); variables.numero1 = 7; variables.numero2 = 10; //Indico el método por el que se va a enviar la información. enviar.method = URLRequestMethod.POST; //Indico que voy a enviar variables dentro de la petición enviar.data = variables; //Indico el formato de la información que se va a recibir como respuesta recibir.dataFormat = URLLoaderDataFormat.VARIABLES; //Añado listeners a recibir, para un posible error y una respuesta. recibir.addEventListener(Event.COMPLETE,Respuesta); recibir.addEventListener(IOErrorEvent.IO_ERROR,HayError); //Hago la petición al PHP recibir.load(enviar); //Funcion que se ejecuta al recibir una respuesta del PHP function Respuesta(event:Event){ trace("El resultado es : " + recibir.data.suma); } //Función que se ejectuta cuando no se puede cargar el PHP function HayError(event:IOErrorEvent):void { trace("Error al cargar la url"); } stop(); |