Flash AS3中数据发送与接收
admin 2013-03-07 16:20:20
先回顾一下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) {
8trace(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。
IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。