第一部分:准备发送数据
1:考虑连接的外部url地址了。
as2中把url地址,变量,通通写到LoadVars类里面。变量少没什么,要是变量多起来,那就有点麻烦,遇上要动态修改变量那更加麻烦了。as3 索性把把这一部分又分为两块,统一到URLRequest对象里面。单纯的url地址用URLRequest.url表示,变量用 URLRequest.data表示。修改起来方便许多。
注意url地址也可以在使用URLRequest构造函数的时候写进去。
2:数据传送方法,post还是get。
as3狠了心了,要把它分的彻彻底底。把传送方法也弄到URLRequest对象里面去。用URLRequest对象的method属性表示。
同时也有两种定义改属性的方法,
CODE:
引用
request.method = URLRequestMethod.POST;//帮助文件中多用这种定义方式
request.method = "post";
以上两句是等效的。你可以试试trace(URLRequestMethod.POST)。输入是 post。
由于as3的默认method是get,建议都显示定义为post。
第二部分:发送数据
1:整合 send和load,就用一个load()。
as2中,有单独的load()和send(),还有sendAnaLoad()。个人觉得前两个函数没用,既然是和外部数据通讯,每一个与外部的连接中,都需要检查flash的状态和外部数据的状态,才能保证双方的通信正常。那么 load()和send()就丢掉,用一个就行了。ADOBE把剩下的sendAndLoad()统一改成load(),不仅逻辑结构上更加合理,就连书写都简单了一半。
相关语法:
CODE:
引用
URLLoader () 构造函数
public 函数 URLLoader(request:URLRequest = null)
注意括号中是个URLRequest对象。已经把url地址,变量,方法都包括进去了。URLLoader对象现在执行的就是连接数据,接受数据两个事情,其他的都交给URLRequest对象管理。因为URLLoader对象还有很多事情要做,比如侦听连接数据和接受数据的情况,是否已经完成操作,或者已经完成到什么程度。在这里就大有文章了,各种各样的loading都需要URLLoader对象的bytesLoaded属性和bytesTotal 属性实现。所以说,as3的分工还是很有道理的。
下面给出准备数据,连接外部数据的典型代码.接受数据处理数据将在下一步讨论
CODE:
引用
var request:URLRequest = new URLRequest("http://10.7.87.222/test.asp");
//request.contentType = "text/xml";//这句代码可以自己单独尝试一下。笔者初学,也没详细去研究这个。只知道传递接收xml数据的时候有用。呵呵
request.data = "bianliang=100";
request.method = "POST";
var loader:URLLoader = new URLLoader();
loader.load(request);
附asp代码,需要在iis5以上服务器上测试.保存文件为 UTF-8编码,文件名为test.asp.位于站点根目录下.
CODE:
引用
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<%
var bianliang=Request("bianliang")
Response.Write("&biangliang="+bianliang)
Response.Write("&chenggong=chenggong")
%>
第三部分:接受数据
我想提示的有两点是:
1 数据需要加载完成以后,才能被flash使用.
所以一定要判断是否加载完成
但是所用的语句与as2已经完全不同了.
as2使用onLoad事件
as3代码如下
CODE:
引用
loader.addEventListener(Event.COMPLETE,completeHandler);
function completeHandler(event:Event):void {
trace(loader.data);
}
目前大家只要认识到数据的加载情况必须用事件侦听就行了.
其实as3中的交互事件,都已经采用上面代码所有的事件侦听模式.
2 需要区分 URLRequest类的data属性与URLLoader类的data属性
前者是表示传递变量的一个集合,后者是接受到的数据的一个集合.
别搞混就行了.
====================================
如果这一部分要深入下去,涉及的东西就比较多了.
包括xml的处理,和字符串的处理.
各位可以先把上面说的东西先弄熟悉了.
然后再学习怎么处理数据,以便flash使用.
再此就不再过多叙述了,因为已经跑题了.
差不多讲完了?
NO ,我想还有个东西需要单独提出来说说
第四部分:如何组织发送的变量?
as2中的loadvars类,它是用n个属性保存变量
as3使用URLRequest类的data属性保存变量.
使用一个属性保存变量?
更绝的是,该data属性是一个object值.靠!
理论上说,我们已经可以把as3中的任意东西传送给外部脚本.
现实一点来说,
将data属性定义为一个string类型,
就已经能实现我们的简单需求了
比如传递多个变量
URLRequest.data="变量1=1&变量2=2&变量3=3",
只要会一定的字符串操作,就能很好的组织自己想发送的数据了.
站巨人肩上,我们再想一下
如果有n个变量,(n的值可以让人操作n个字符串的时候发狂.呵呵)
如果是loadvars类,那没办法,还是老老实实的一个一个写吧
as3中,怎么弄?怎么弄?怎么弄?怎么弄?怎么弄? 怎么弄?
既然data属性是个object值.
又需要保存很多数据.
那么有个词已经呼之欲出了
数组!
说到这里我就卡住了,
我再考虑,数组这部分究竟就该详细的说一下 ,还是略去.
考虑2分钟.................
既然能学到今天的as3想必已经是as2老手了,数组操作不讲也罢了
如果是新手刚入门,估计您应该先去as2版块找找数组的资料
呵呵 小弟这里就偷偷懒 见谅了
最后提示一个:
如果你还是喜欢as2的书写方式。
as3还是可以满足你的。
参考 URLVariables类。
代码如下:
CODE:
引用
var variables:URLVariables = new URLVariables();
variables.exampleSessionId = new Date().getTime();
variables.exampleUserLabel = "guest";
request.data = variables;
前面3句代码似曾相识吧
完全和as2的loadvars类一样,
只不过最后还是需要把 URLVariables对象赋值给URLRequest对象的data属性。
分享到:
相关推荐
在Adobe Flash Professional CS5或更新版本的环境中,ActionScript 3(AS3)提供了一套强大的网络通信工具,包括`URLRequest`、`URLLoader`等类,这些类替代了早期版本中的`LoadVars`方法,使得与服务器的交互更加...
在ActionScript 3 (AS3)中,`URLLoader` 类是用于加载各种类型数据的强大工具,包括XML。XML(eXtensible Markup Language)是一种轻量级的标记语言,常用于存储和交换数据。本篇文章将深入探讨如何使用`URLLoader`...
1> 比如如果加载数据的格式为名称值对类型,则可以使用URLVariables类来分析服务器结果。 2> 如果加载的文件是外部XML文档,则可以使用XML类的构造函数、XMLDocument类的构造函数或XMLDocument.parseXML()方法来...
在Flex开发中,`URLLoader` 是一个非常重要的类,用于加载远程数据,如XML、JSON等。在本示例中,它被用来从服务器获取XML文件并将其内容解析为XML对象,以便在应用程序中使用。`Flex` 是Adobe开发的一个开放源代码...
1. **URLLoader 类**:`URLLoader`是ActionScript 3.0中的一个类,用于异步加载文本数据,如文本文件(txt、csv)、XML文件、JSON数据等。它继承自`EventDispatcher`,可以监听加载过程中的各种事件,如加载完成(`...
这种通信通常用于实现客户端(Flex应用程序)和服务器端(Java应用)之间的轻量级通信,比如请求数据或发送命令。在本话题中,重点讨论的是使用`URLLoader`类来实现这一目标。 `URLLoader`是Flex SDK中的一个关键...
URLVariables类用于封装要发送的数据。 2. **发送数据**: 通过URLLoader的load方法,我们可以发送一个POST或GET请求到ASP页面。POST请求通常用于发送大量数据,如表单提交;GET请求则用于获取信息,通常在URL后面...
在Flash AS3中,发送和接收文件是一项关键功能,它允许用户通过Flash应用程序与服务器进行数据交互,例如上传用户文件或获取服务器上的数据。这里我们将深入探讨如何在AS3中实现这一过程,以及如何与ASP和JSP后端...
在ActionScript 3 (AS3)中,与服务器进行数据交互是Web开发中的核心部分,主要依赖于两个关键类:`URLRequest`和`URLLoader`。这两个类是Flash Player和Adobe AIR应用程序用来发送HTTP请求并接收响应的重要工具。...
- **URLLoader和URLRequest**:ActionScript 3.0使用`URLLoader`和`URLRequest`类来加载和发送外部数据。`URLRequest`用于构建请求,`URLLoader`则负责加载响应数据。 - **URLVariables**:当加载的数据是名称值对...
1. 发送请求:创建URLLoader实例,设置URL和请求方法,然后使用URLRequest对象发送请求。 2. 数据处理:通过监听Event.COMPLETE事件,处理接收到的数据。 3. 错误处理:监听Error事件,处理可能出现的网络或服务器...
同时,网络编程也是ActionScript 3.0的一大特色,你将了解如何使用XMLSocket或URLLoader类进行数据交换,实现与服务器的通信。 在实际应用中,ActionScript 3.0与Flash组件结合使用可以创建出丰富的用户界面。例如...
2. **ActionScript接口**:在Flash中,可以使用URLLoader类来发送HTTP请求,URLVariables类来封装要发送的数据,而Event类则用于监听请求的状态和完成情况。 3. **连接过程**: - 创建URLVariables对象,设置要...
URLLoader 类主要用于加载外部资源的数据流,而不是直接显示它们。这通常用于后台加载数据,或者需要处理数据流的情况。 #### 3.1 初始化URLLoader对象 ```actionscript var urlLoader:URLLoader = new URLLoader...
LV类主要用于处理客户端和服务器之间的数据交换,它能够轻松地加载和发送变量到服务器,或者从服务器接收数据。LV类是ActionScript 2.0的一部分,适用于AS2.0的Flash版本,如Flash Pro 8.0。在本教程中,我们将重点...
此外,POST请求没有长度限制,适合发送大量数据。 ### 2. ActionScript简介 ActionScript是一种面向对象的脚本语言,主要用于Flash应用程序、服务器端Flash Remoting以及Flex项目。它最初由Macromedia公司开发,...
- URLLoader 类是ActionScript中用于从URL下载数据的工具,支持以文本、二进制数据或URL编码变量三种形式加载数据。 - 当加载文本文件、XML或其他动态数据时非常有用。它在下载完所有数据后才将内容传递给...
除了接收数据,Flash还可以通过URLLoader类向服务器发送数据。这常用于Ajax-like操作,例如发送表单数据或获取服务器响应。以下是一个简单的POST请求示例: ```actionscript var urlRequest:URLRequest = new ...
5. **网络和数据**:URLLoader和URLRequest类用于加载网络资源,XML和JSON类则处理数据交换。SharedObject类提供了客户端的数据存储功能。 6. **多媒体**:Sound和Video类处理音频和视频的播放,NetStream类则提供...