Foros del Web » Creando para Internet » Flash y Actionscript »

variables de asp a flash???

Estas en el tema de variables de asp a flash??? en el foro de Flash y Actionscript en Foros del Web. Necesito un ejemplo de como recibir variables en flash enviadas de asp con metodo get....
  #1 (permalink)  
Antiguo 05/07/2004, 15:38
 
Fecha de Ingreso: julio-2004
Mensajes: 2
Antigüedad: 19 años, 9 meses
Puntos: 0
Exclamación variables de asp a flash???

Necesito un ejemplo de como recibir variables en flash enviadas de asp con metodo get.
  #2 (permalink)  
Antiguo 07/07/2004, 08:55
 
Fecha de Ingreso: julio-2004
Mensajes: 2
Antigüedad: 19 años, 9 meses
Puntos: 0
Paso a explicar, del modo mas sencillo que pueda, como comunicarse entre Flash y ASP . Aqui será con el Flash MX (o flash 6). En Flash 4 o 5 hay modos de hacerlo, pero no están cubiertos por esta "guia".

En Flash MX existe un objeto llamado LoadVars() , que se usa especificamente para transferir datos entre Flash y una página web (ASP, PHP, CF, Perl, JSF). Ya sea para enviar o para recibir, debemos crear una instancia del objeto LoadVars. Eso lo hacemos con este código:

var MiLoadVars = new LoadVars();


Ahora que sabemos como crear el objeto para manejo de datos en flash, separemos para que sea mas simple la explicación por un lado el envio de datos y por otro el pedido de datos.





Pasar datos desde FLASH > ASP:

Luego de tener el objeto creado, lo que hacemos es definirle propiedades con valores, que seran los que son enviados al ASP. Los nombres asignados como propiedad, seran el nombre de la variable. Por ejemplo asi:

MiLoadVars.nombre = 'CoRSA';
MiLoadVars.edad = 23;

Por ultimo hacemos el envio de esa informacion llamando al metodo send() de nuestro objeto LoadVars, con este código:

MiLoadVars.send("flash1.asp","_blank","POST");

Todo esto es código ActionScript y va en el Flash. Que nadie escriba esto en una pagina ASP porque no tiene nada que ver.

Finalmente les escribo todo el código junto:

var MiLoadVars = new LoadVars();
MiLoadVars.nombre = 'CoRSA';
MiLoadVars.edad = 23;
MiLoadVars.send("flash1.asp","_blank","POST");

Eso es todo para el envio de datos al ASP. Ahora hay que saber como recibirlo. Para recibirlo en el ASP tienen que crear la página flash1.asp y poner dentro el código correspondiente. Como dije antes, las propiedades que agregamos al objeto LoadVars (que en el ejemplo son .nombre y .edad) pasan a ser los nombres de las variables. Entonces el código para leerlas desde la pagina ASP es:

<%
nombre = request("nombre")
edad = request("edad")
%>

Y partir de ahi podemos usar las variables. Enviarlas a una base de datos, hacer consultas especificas, o lo que se nos ocurra! =)





Pasar datos desde ASP > FLASH:

Luego de tener el objeto creado, lo que hacemos es crear una función asociada al evento onLoad, en la cual manejaremos los datos que vienen desde el ASP. Y a continuación y como último paso, llamamos al metodo load. Al llamarlo se ejecutará la funcion. Les muestro el código. Muy corto y simple.

MiLoadVars.onLoad = function(){ _root.recibir.text = MiLoadVars.pais; }
MiLoadVars.load("flash2.asp");

Nuevamente les escribo todo el código junto, esto es todo lo que va en el flash:

var MiLoadVars = new LoadVars();
MiLoadVars.onLoad = function(){ _root.recibir.text = MiLoadVars.pais; }
MiLoadVars.load("flash2.asp");

Flash ejecuta "por detrás" o "en silencio" la página flash2.asp. Pero esta pagina tiene que tener un cierto formato específico que ahora pasaré a indicarlo. Lo que viene a continuacion sería la pagina flash2.asp.

<%
response.write "pais=Argentina"
%>


Para finalizar repaso todo de nuevo haciendo unas aclaraciones.

La página ASP tiene que tener una salida por pantalla (response.write) y la salida tiene que ser con el formato de envio entre páginas.
El formato es asi:

variable1=valor1&variable2=valor2&variableN=valorN

Entonces en el flash podremos acceder a los valores llamandolos asi:

MiLoadVars.variable1 (contiene valor1)
MiLoadVars.variable2 (contiene valor2)
MiLoadVars.variableN (contiene valorN)

Si les llama la atencion la parte del código que dice _root.recibir.text es porque no tienen nada de experiencia en flash. Ese código se refiere a un campo de texto (como un INPUT de HTML) que está dentro del flash. El nombre del campo es "recibir". y lo que hace la funcion es escribir en el campo de texto lo que contiene la variable pais. =)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:40.