使用URLLoader类和URLVariables类实现AS3与服务器通信

我以前写过一篇文章: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
相关相关日志:
评论: 4 | 引用: 0 | 查看次数: -
引用holin[2010-06-24 05:17 PM | 无网站 | 无Mail | 115.193.209.209 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用yuanhao[2010-06-13 10:06 AM | 无网站 | 无Mail | 222.211.208.233 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用FF[2009-10-29 04:11 PM | 无网站 | 无Mail | 121.8.181.35 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用chengzhang[2008-04-16 09:11 AM | 无网站 | 无Mail | 221.8.163.197 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭