标题:FLASH 与 ASP 通信
作者:林伟
日期:2005-4-27
在许多网上找过,相关的文章没有办法进行有效的执行。往往出了些错误。再此我附上了原代码下载地址。
FLASH 与 ASP 通信的目的何在? 在许多网上大家可以看到,有些留言板是使用FLASH制作出来的。然而FLASH本身操作数据库有一定的难度。如果能够利用ASP的所有特征,那FLASH可见是如虎添翼。
那么我们就开始介绍制作方法。首先在一场景中,放如一个Button 按钮(可以是组件)。在按钮上编写如下代码:
on(click)
{
mylv = new LoadVars();
mylv.user = "admin";
mylv.sendAndLoad("Default.asp?action=login",mylv,"POST");
mylv.onLoad = function(Success)
{
if(Success)
_root.txtOutput.text = this.output;
}
}
Default.asp 代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
if request("action") = "login" then
response.Write("&output=hello world!")
end if
%>
好了。那么我们来说明下此代码的意思。
实际上,FLASH中与ASP的交互方法与HTML很相似,无非就是POST 与 GET 两中方法。我们在这里只介绍POST 方法。
该代码为按钮的单击事件,在事件块中有 LoadVars 类。此类就是我们用来与ASP做交互的重要的类。
并且该类为动态类(Dynamic)。什么意思呢?
在FLASH AS 中,含有动态类的概念。所谓动态类的意义在于,类中未定义的属性或方法,可以在对象中定义。
您可以注意一下。我们实例化 Loadvars 生成了对象 mylv 。该对象的 .user 属性是我们自己定义的。您可以根据需要写其他,或多写几个属性。FLASH编译时不会报错。而仅当作类似HTML中表单中TEXTBOX 一样提交出去。
好了。那么接下来我们看下一句。下一个是 LoadVars 类中的一个方法。该名字为sendAndLoad。此方法就是用来提交表单。后面的参数就是ASP文件的URL。
当您执行了该方法。FLASH就会自动的提交表单,并等待ASP的反馈信息。
接下来,我们将会引入一个问题。网络传输拥有速度的快慢,我们怎样知道信息是否已提交成功,并可以接收数据呢?
那么我们看这段事件代码:
mylv.onLoad = function(Success)
{
if(Success)
_root.txtOutput.text = this.output;
}
FLASH 的事件处理块与其他语言不同的是,他的格式是这样的:<对象名>.<事件名> =function( [参数名] ){}
此代码块中,就可以判断信息是否传递成功。假如成功后,ASP将会反馈Output 变量。该变量是怎么回事呢?别急,接下来继续为您介绍。
好了。FLASH中的代码说完了。接下来看ASP中 default.asp 文件的代码。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
if request("action") = "login" then
response.Write("&output=hello world!")
end if
%>
如果对ASP不太陌生的人就可以明白。该代码只是接收FLASH传递过来的action属性,判断是否为login。
如果是,将返回output属性。该属性在FLASH可以直接获得,上述已介绍。
那么怎样将参数传递给FLASH呢?这里仅一种方法。在属性名(output)前加 & 符号。在=号后面加属性值即可。
好了。这样就没问题。您可以测试下,如果还有哪个地方不明白。可以联系本人。
QQ:630843
EMAIL:WEBMASTER@MONTHSOFT.COM