flash如何调用asp传递的参数,帮顶有分!
有两个asp文件,一个是1.asp,主要用来向flash文件传递参数,另一个是2.asp,用来接收从flash传送的参数,现在2.asp正常,能接收到参数,但是flash却不能从1.asp接收,它们都是用loadVariablesNum( "2.asp ", " ", "post ")这种方式操作的,而且我运行flash也是从IIS环境里运行的,如http://localhost/index.asp,index.asp里把test.swf包含进去了。大家帮我看看究竟是什么原因,急!如果解决问题,马上送分!
[解决办法]
在浏览器直接运行1.asp,看看获得的结果是怎样的。
事实上,用loadVariablesNum方式获取外部asp数据,是通过访问asp,将经过IIS解析后的asp结果当作txt来读取。因此,asp解析后的文本一定要符合flash读取txt数据的格式规范。
一般来说,格式正确都可以正常读取。
[解决办法]
看看代码吧
不过用loadVars会更好控制要传递的信息
[解决办法]
个人比较喜欢把ASP读出的数据输出成XML格式,再用XML对象处理,这样的通用性比较好。
[解决办法]
1。你的ISP的server必须支持Active Server Pages并且最好支持数据库
2。你应该要安装Flash
3。需要你对ASP有初步的了解
OK,下面具体介绍怎么使用:
第一步要做的是建立数据库:
数据库结构:
例子中使用Access数据库,表名为tblStaff,有三个字段:strID (自动编号),strKnownAs(Text),strSurname (Text). 这是一个用来示范用户名的数据库,随便加些数据吧。
第二步就是建立一个Flash 4的动画罗:
步骤如下:
1)建立三个text field.它们是用来显示数据用的;
2)把第一个text field的name设置为Input,它是用来接收输入数据的;
3)另外两个text field分别命名为KnownAs和Surname;
4)其它设置先为默认;
5)最后,从Flash的library中选择增加一个按钮 (应该是一个可重用的组件ScrollBarButton )。 这是很重要的一步,按钮将把输入的变量传递给ASP页面, 到按钮的属性(Properties)上单击Action页. 单击 "+ "号和On MouseEvent.勾上Release框;
6)再次单击 "+ "号和Load/Unload Movie.选择 "Load Variables Into Location ", 在URL输入框内输入你的ASP文件名(例如flash.asp). 选择Target;
7)最后,选择Variables中的Send using POST, 单击 "+ "号来设置变量, 在Variable输入框内输入 "Input "(就是第一个text field的name), 当上面的工作都完成后,你应该在action box内看到如下内容:
On (Release)
Load Variables ( "flash.asp ", " ", vars=POST)
Set Variable: "Input " = " "
End On
这样当在动画过程中这个按钮被点击并释放后,Input输入框中的内容将被传递给flash.asp文件.注意form是使用的post方式传递变量的;
8)现在建立一个HTML页面,在其中包含这个Flash动画文件。
第三步:ASP文件的代码:
<%
Set Connection = Server.CreateObject( "ADODB.Connection ")
Set Recordset = Server.CreateObject( "ADODB.Recordset ")
Connection.Open "people " '你的数据库连接的DSN
SQL = "SELECT * FROM tblStaff WHERE strID= " & Request.Form( "Input ") & "; "
Recordset.Open SQL,Connection,1,2
If Recordset.EOF Then KnownAs = "Not " Surname = "Found "
Else KnownAs = Recordset ( "strKnownAs ") Surname = Recordset ( "strSurname ")
End If
Recordset.Close
Connection.Close
response.write( "KnownAs= "+Server.URLEncode(KnownAs))
response.write( "&Surname= "+Server.URLEncode(Surname))
%>
需要注意的是在把KnownAs和Surname传递回去的写法,将是这样的:
KnownAs=Data1&Surname=Data2
使用Server.URLEncode(VariableName)来保证传递过去变量的是按照 URL格式编码的。
下面简单介绍一下ASP和Flash通讯的原理:
变量其实都是通过URL传递给Flash的,其实这是一种GET方法, 你不使用ASP其实也可以把变量传递给一个swf文件的,只要这样:
接着文本 "Text of my variable "将会出现在Flash的动画中指定的位置