[AS3]程序语言asp,php,aspx与as3的通讯详解
这篇教程简单讲解如何使用LoadVars实现Flash与HTTP Service通信。通过本例的学习,我们将了解怎样整合LoadVars对象和HTTP Service开发Flash RIAs的基本流程。
从Flash Player 6开始,可以使用LoadVars对象来实现Flash与后台通信。同loadVariables函数一样,它只能接收MIME格式的字符串变量。而且遇 到特殊字符时,必须进行URL编码。
LoadVars对象通过其sendAndLoad方法将对象中的属性变量发送(send)到指定的 URL,同时载入(load)服务端器的输出变量并将其放入 目标对象中。当然,发送和载入这两个过程可以分开进行。这就是LoadVars对象比loadVariables函数强大之处,另外一个强大之处在于:载 入变量时,还可以通过LoadVars对象的onLoad事件来判断载入的结果是成功还是失败。请看下面的例子。
请在舞台上添加名为name_ti的TextInput实例,名为msg_ta、result_ta的 TextArea实例和名为send_btn的Button 实例。将下面的 ActionScript 添加到时间轴的第 1 帧:
- var submitListener:Object = new Object();
- submitListener.click = function(evt:Object) {
- var result_lv:LoadVars = new LoadVars();
- var send_lv:LoadVars = new LoadVars();
- send_lv.userName = name_ti.text;
- send_lv.msg = msg_ta.text;
- send_lv.sendAndLoad("http://www.riafan.com/service/echo.asp", result_lv, "POST");
- result_lv.onLoad = function(success:Boolean) {
- if (success) {
- result_ta.text = result_lv.resultVar;
- } else {
- result_ta.text = "连接到服务器失败";
- }
- }
- }
- send_btn.addEventListener("click", submitListener);
说明:当用户单击下面示例中Login按钮实例时,将创建两个LoadVars对象:send_lv和result_lv。send_lv对象从name_ti和msg_ta实例复制名称并将数据发送到echo.asp。此脚本的结果将载入result_lv对象,服务器响应则显示在TextArea实例 (result_ta) 中。
前面说过,任何服务器端编程语言,只要按[变量/值]配对的格式输出纯文本文件就能和Flash连接。接下来我们就来看这个实例的服务器端代码。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例