昨天晚上开始写的这个东西, 写完了发现原来mirycat已经写过了: 使用 URLRequest 和 URLLoader 与服务器交互 http://www.blueidea.com/tech/multimedia/2006/3722.asp
不过我发现我和mirycat写的有不同的特点 所以还是发出来,呵呵 希望能对学习as3的新手有点帮助.
先回顾一下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。
出处:蓝色理想
责任编辑:tada
上一页 下一页 AS3中数据发送与接收 [2]
◎进入论坛RIA设计与应用版块参加讨论
|