AS3中数据发送与接收

创建日期:2007年11月20日 来自:蓝色理想 浏览:1375次 作者:匿名

第二部分:发送数据

1:整合send和load,就用一个load()。

as2中,有单独的load()和send(),还有sendAnaLoad()。个人觉得前两个函数没用,既然是和外部数据通讯,每一个与外部的连接中,都需要检查flash的状态和外部数据的状态,才能保证双方的通信正常。那么load()和send()就丢掉,用一个就行了。ADOBE把剩下的sendAndLoad()统一改成load(),不仅逻辑结构上更加合理,就连书写都简单了一半。

相关语法:

URLLoader () 构造函数
public 函数 URLLoader(request:URLRequest = null)

注意括号中是个URLRequest对象。已经把url地址,变量,方法都包括进去了。URLLoader对象现在执行的就是连接数据,接受数据两个事情,其他的都交给URLRequest对象管理。因为URLLoader对象还有很多事情要做,比如侦听连接数据和接受数据的情况,是否已经完成操作,或者已经完成到什么程度。在这里就大有文章了,各种各样的loading都需要URLLoader对象的bytesLoaded属性和bytesTotal 属性实现。所以说,as3的分工还是很有道理的。
  

下面给出准备数据,连接外部数据的典型代码.接受数据处理数据将在下一步讨论

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.位于站点根目录下.

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<%
var bianliang=Request("bianliang")
Response.Write("&biangliang="+bianliang)
Response.Write("&chenggong=chenggong")
%>

第三部分:接受数据

我想提示的有两点是:

1 数据需要加载完成以后,才能被flash使用.
   所以一定要判断是否加载完成
   但是所用的语句与as2已经完全不同了.
   as2使用onLoad事件
   as3代码如下

loader.addEventListener(Event.COMPLETE,completeHandler);
   function completeHandler(event:Event):void {
       trace(loader.data);
   }

目前大家只要认识到数据的加载情况必须用事件侦听就行了.

其实as3中的交互事件,都已经采用上面代码所有的事件侦听模式.

2 需要区分 URLRequest类的data属性与URLLoader类的data属性
   前者是表示传递变量的一个集合,后者是接受到的数据的一个集合.
   别搞混就行了.

   如果这一部分要深入下去,涉及的东西就比较多了.
   包括xml的处理,和字符串的处理.
   各位可以先把上面说的东西先弄熟悉了.
   然后再学习怎么处理数据,以便flash使用.
   再此就不再过多叙述了,因为已经跑题了.

差不多讲完了?
NO ,我想还有个东西需要单独提出来说说

  首页   上一页   1   2   3   4   下一页   尾页 

责编:yezi
相关搜索: AS3   数据   发送   接收  
Google
嗷嗷毙技术网版权申明:大家可以自由转载我站点的文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来链接,自行链接)。文章版权归作者所有。
特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
搜索 
Google