使用URLLoader类和URLVariables类实现AS3与服务器通信
作者:Flying 日期:2008-04-04
我以前写过一篇文章:LoadVars实现Flash与服务器通信。该实例适用于AS2,在AS3中,LoadVars类功能已经替换为 URLLoader、 URLRequest、URLStream 和 URLVariables 类。本文将以一个实例着重讲述怎样使用URLVariables 类和URLLoader类将变量发送到服务器端脚本并处理服务器的响应。
在本例中我们创建了一个名为variables的URLVariables对象,该对象动态创建名为userName和msg的属性,并用表单的输入文本值为其其赋值。接 下来,我们创建了一个URLRequest 对象,该对象指定变量要发送到的服务器端脚本的URL。然后,设置URLRequest对象的method属性,以便将变量作为HTTP POST请求发送。为了清除服务器脚本生成的缓存数据文件,我们添加了文件头。再下一步我们将URLRequest 对象的 data 属性设置为早先创建的variables对象,这样URLVariables对象就添加到URL 请求了。最后,我们创建 URLLoader实例并调用URLLoader.load() 方法,此方法用于启动该请求。
至于处理服务器的响应,我们是用URLLoader 类的complete事件来处理的。与早期版本ActionScript中的XML和LoadVars类非常相似,URLLoader URL 的数据在下载完成之前不可用。
最后值得一提的是,AS3允许通过URLRequestHeader对文件头进行操作,这是一个很重要的提升。
注意:本例所需的后台脚本与使用LoadVars实现Flash与服务器通信那篇文章中用到的一样:脚本的每个名称-值对都创建为URLVariables对象中的 一个属性。唯一不一样的是:第一个名称-值不能加&,否则会报错:Error #2101: 传递给URLVariables.decode() 的字符串必须是包含名称/值对的URL 编码的查询字符串。
资源:
1.URLVariables:http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLa ngRefV3/flash/net/URLVariables.html
2.URLLoader:http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangR efV3/flash/net/URLLoader.html
上一篇: 如何获取Menu当前选择项的路径
下一篇: 使用E4X实现AS3与服务器通信
文章来自: 本站原创
Tags: Actionscript3
相关日志:


|
| 115.193.209.209 |
| 取消审核 |
回复]