Flash AS3中数据发送与接收
来源:Arting365.com作者:daozi2发布时间:2007-11-26
先回顾一下as2中相关的解决办法

相信大部分人用的都是LoadVars类吧 

1 var xianshi_lv = new LoadVars();
2 xianshi_lv.bianliang1 = "变量一";
3 xianshi_lv.bianliang2 = "变量二";
4 xianshi_lv.bianliang3 = "变量三";
5 xianshi_lv.sendAndLoad("http://10.7.87.222/show.asp? bianliang="+random(9999), xianshi_lv, "post");
6 xianshi_lv.onLoad = function(chenggong:Boolean) {
7   if (chenggong) {
8    trace(xianshi_lv)
9          };
                                                                        }
 

第1行:定义LoadVars对象,这家伙在as2时代几乎把所有连接外部数据的事情都做完了。无敌! 
第2 3 4 行:在LoadVars对象中存储变量,直接发送到外部脚本中。 
第5行:执行sendAndLoad方法,意思是send后,load回调的数据。 
第6行:onLoad事件,判断load回调数据, 
第7行:判断load回调是否成功。 
在as2时代,LoadVars类把存储变量,连接外部数据,接受回调数据这些事情都做完了。笔者也弄很久的as2,觉得这方法不错,学习起来也很简单。
但是as3不同,为了分工清晰,把上面的存储变量,连接外部数据,接受回调数据这几个事情都分散开了。一定程度上,本人觉得有点麻烦。不知道adobe是怎么想的。也许是本人还没发现adobe的真正意图·
既然as3来了,还是按他的规矩办吧
他是什么规矩呢? 

第一部分:准备发送数据 

1:考虑连接的外部url地址了。 

as2中把url地址,变量,通通写到LoadVars类里面。变量少没什么,要是变量多起来,那就有点麻烦,遇上要动态修改变量那更加麻烦了。as3索性把把这一部分又分为两块,统一到URLRequest对象里面。单纯的url地址用URLRequest.url表示,变量用URLRequest.data表示。修改起来方便许多。 

注意url地址也可以在使用URLRequest构造函数的时候写进去。 

2:数据传送方法,post还是get。 

as3狠了心了,要把它分的彻彻底底。把传送方法也弄到URLRequest对象里面去。用URLRequest对象的method属性表示。 

同时也有两种定义改属性的方法: 

request.method = URLRequestMethod.POST;//帮助文件中多用这种定义方式
request.method = "post"; 
 
以上两句是等效的。你可以试试trace(URLRequestMethod.POST)。输入是 post。
由于as3的默认method是get,建议都显示定义为post。
1 2 3 4 5 6 7  下一页
本篇编辑:Iris