• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>文章内容
  • flash交互整理
  • 来源:吾系衰人的博客 作者:吾系衰人 2007-09-29 【


好一段时间没有更新博客了~。最近发生的事比较多,人也比较累了。
。。。。。。。。。。

闲话不多说了,入正题吧。
一如大家一般所知道的,falsh与后台之间的交互的方式有很多。
其实所谓交互莫非就是flash与不同载体间的信息通信
简而言之就是:(发送)跟 (接受)信息。
发送内容一般会是 (xml,变量,以及字符串)等。
而发送方式主要有 (GET 跟POST)两种;
说到这里大家先要区别下GET跟POST两中方式之间的区别,
一般来说GET方式适宜用来传输数据两比较小的内容,想字符串跟变量等;
GET方式主要是通过问号符?在url后追加信息,内容可以在地址栏看到,保密性相对比较低的一种传输方式;
而POST方式一般是适宜用于传输数据两比较大的信息内容,(xml, 跟比较长的饿字符串或者数组内容等)
POST是通过数据流的方式进行传输的,而且信息内容不可见,保密性相对比较好;


说完了GET 跟 POST的区别与联系,接下来,再说说在falsh中用于交互的方法;

对于falsh而言,用于通信而比较常用的方法
莫过于getURL(),sendAndload().loadvars(),这3种传值方法了;

先说说getURL()

getURL(url:String, [window:String, [method:String]]) : Void
象我们要给页面http://www.test.com/main.asp发送一些信息。做法是
在地址后一问号符?后追加变量跟其值;val=00000,要发送多个变量以&连接符连接就少了;
getURL(“http://www.test.com/main.asp?val=00000“,“_blank“,“GET“)
getURL(http://www.test.com/main.asp?val_1=00000&val_2=1111,“_blank“,“GET“)

post方法大同小异
getURL(“http://www.test.com/main.asp?val=00000“,“_blank“,“POST“)
getURL(http://www.test.com/main.asp?val_1=00000&val_2=1111,“_blank“,“POST“)


下边说说用的比较多的方法sendAndload().
sendAndload().这个方法之所以用的比较多主要在于其除了提供了getURL一样的功能外,还多了返回功能,除此之外,loadvars类中还有相关检测方法的方法
诸如:onLoad,onData等。。。。

public sendAndLoad(url:String, target:Object, [method:String]) : Boolean

url是接受信息的处理页面,target是返回信息的载体对象,method就是“GET“/“POST“两种方法;
用sendAndload的好处之一就是接收方可以以属性的形式接受信息内容,免去了很多不必要的麻烦。

var sendval:LoadVars = new LoadVars ()
var getval:LoadVars = new LoadVars ()
sendval.val_1=0000;
sendval.val_2=“你好“
sendval.sendAndLoad(“http://www.text.asp“,getval,“POST“)
trace(sendval.toString())
getval.onLoad=function(success){
if(success){
trace(this)
}
}
还有要补充下的就是,
sendAndLoad除了loadVars类有之外xml类也有相同的方法的~~但略有不同的是

public sendAndLoad(url:String, resultXML:XML) : Void

xml类里的sendAndLoad返回的是一个xml;
除此之外我们还可以用send跟call的方法进行通信交互,原理都差不多;


上边几个常有的饿方法说完了,接下来说说一些比较少用到的有
fscommand,flash.external.ExternalInterface,跟一些现在瞒流行的方法webServer,removing
fscommand跟flash.external.ExternalInterface类其实都允许js扩展,
就是说我们可以通过他们可以跟页面进行相关通信交互;
fscommand ("val", 0000);
val:变量名;0000:val对应的值

或者
SendData = new LoadVars ();
?SendData.Interface = 1;
?SendData.Interface2 =?2
?fscommand (url, unescape (SendData));

/////////////////////////////////////////////////////////////////
flash.external.ExternalInterface类相信大家会比较陌生的~
flash.external.ExternalInterface类是flash 的一个扩展类;
主要用于扩展js;
现在说说如何在flash里边定义一个函数,而用于js的调用
flash.external.ExternalInterface.addCallback("Msg", this, Msg);
function Msg(str:String):Void {
tarce(“helloWord“)
}
这样我们就定义了一个允许js脚本调用的名为Msg的函数了~

下会有时间再给大家补充下webServer跟removing
但其实都是对.net支持而已,无非就是调用web 段的方法之云~~也没什么的~~




上一篇:頁面多個swf呼叫ExternalInterface問題   下一篇:物理运动学公式汇总
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)