首页--> 计算机--> FLASH教程
 
FLASH与ASP通信原理入门
http://www.xxqqss.com 学习轻松网 发布日期:2006/12/15 点击量:3448
 

在正式开始之前,我们还有以下工作要完成

1,在“lv_shiyan.fla”中再添加一个按钮,命名为“tijiao_btn”。
2,把“wenben_txt”这个动态文本域改成输入文本域,取消HTML输出,并更名为:“shuru_txt”。
3,再添加一个动态文本域,用来接收从ASP传回的资料,命名为:“shuchu_txt”。
4,把“asp_jichu.asp”中的内容改成下面的内容:
★ASP中基本的输入输出<br>
<%@LANGUAGE="JAVASCRIPT"%>
<%
var neirong;
//获取从FLASH传递过来的变量
neirong=Request("neirong_flash");
//输出要返回到FLASH中的内容
Response.Write("&fanhui_asp=哈,你输入的内容已经传递给ASP,并且又已经从ASP返回到FLASH了,你输入的内容是:"+neirong);
%>

5,最后把“lv_shiyan.fla”中的代码改成下面的内容:
System.useCodepage = true;
var shiyan_lv = new LoadVars();
tijiao_btn.onRelease = function() {
  //获得输入的文本内容,并把这个内容记录在变量“neirong_flash”中
  //这里相当于已经对变量“neirong_flash”进行了赋值
  shiyan_lv.neirong_flash = shuru_txt.text;
  //将LV对象中储存的所有变量都传递给ASP,不过这里我们只设定了一个,就是我们的“neirong_flash”
  //向ASP传递成功后,我们再把从ASP传递回来的变量还储存在“shiyan_lv”对象中
  shiyan_lv.sendAndLoad("asp_jichu.asp?bianliang="+random(9999), shiyan_lv, "post");
};
shiyan_lv.onLoad = function(chenggong) {
  if (chenggong) {
    //输出文本内容
    shuchu_txt.text = shiyan_lv.fanhui_asp;
  } else {
    //输出文本内容
    shuchu_txt.text = "加载失败";
  }
};

呼呼,改的东西真不少啊,先不讲代码了,直接发布测试一下吧,先有个直观的认识:在输入文本框中输入“我要做FLASH留言板”,然后点击提交按钮,你就会看到在动态文本框“shuchu_txt”中马上就会显示:“哈,你输入的内容已经传递给ASP,并且又已经从ASP返回到FLASH了,你输入的内容是:我要做FLASH留言板”。这个例子的源文件也可以直接在下面下载。

小提示:如果你在浏览器中直接点击刷新不能正确显示更新后的页面和内容,请按如下方式设置IE浏览器:→工具→Internet选项→设置→钩选“每次访问此页时检查”。这样我们以后就可以直接利用刷新来测试,不用再担心IIS刷新和内存问题了。

最后我们来对测试过程中的数据流程做一个系统的分析

  • 用户在FLASH的输入文本框“shuru_txt”输入“我要做FLASH留言板”
  • 通过“shiyan_lv.neirong_flash = shuru_txt.text;”这句代码把用户输入的内容储存在“shiyan_lv”对象的“neirong_flash”
  • 通过“shiyan_lv”对象的“sendAndLoad”方法将它记录的变量都传递给指定的ASP文件
  • 在ASP文件中通过“neirong=Request("neirong_flash");”这句代码获得从FLASH的“shiyan_lv”对象传递过来的变量“neirong_flash”
  • ASP接收变量内容后调用Response对象的Write方法利用传递过来的变量内容以“变量/值”配对的格式输出需要返回FLASH的新内容
  • FLASH在调用“shiyan_lv”对象的“sendAndLoad”方法发送变量时就已经指定“shiyan_lv”本身接收返回的内容
  • “shiyan_lv”接收到新返回的内容,并根据其“变量/值”配对的格式,将新内容储存在“shiyan_lv.fanhui_asp”中
  • 当新返回的内容在FLASH中加载完成后,调用“shiyan_lv”对象的onLoad事件
  • 通过“shuchu_txt.text = shiyan_lv.fanhui_asp;”这句代码在输出文本框中显示新返回的内容
    经过这个分析,相信大家应该可以从总体上有一个理性的认识了吧。

最后还需要重点强调的几点是

  • LV对象在调用“sendAndLoad”方法发送变量的时候,会把LV对象中储存的所有变量都发送给ASP。
  • ASP在接收LV对象传递过来的变量时,只需要在Request中使用与FLASH中相同的变量名字就可以了。
  • ASP输出的资料一定要使用“变量/值”配对的格式,因为只有输出成这种格式,FLASH才能像处理TXT一样将ASP输出的资料分别记录在几个变量并保存在指定接收资料的LV对象中。
  • 如果我们想向FLASH传递两个或者更多变量,我们可以在FLASH中这样写:(以传递三个变量为例)
    shiyan_lv.bianliang1_flash="bianliang1";
    shiyan_lv.bianliang2_flash="bianliang2";
    shiyan_lv.bianliang3_flash="bianliang3";
    shiyan_lv.sendAndLoad("asp_jichu.asp?bianliang="+random(9999), shiyan_lv, "post");
  • 传递大量资料时,必须使用POST方法。
  • 如果我们想在FLASH中接收到多个从FLASH传递过来的变量,就按TXT的处理方式来就OK了。

呼呼,喘口气,这一节终于写完了。本来计划下次直接写“LV与ASP综合运用”的,但现在想想,还是很有必要加上一节“ASP操作数据库入门”,请继续关注。有什么好的意见也可以提一下,希望通过大家的共同努力让这篇教程能让菜鸟以最快的速度,最少的障碍自己制作出真正属于自己的FLASH留言板。

还记得我们向ASP传递的那个无意义的变量“bianliang”吗?既然我们向ASP传递了,那ASP就应该能接收的到,有兴趣的朋友可以在“asp_jichu.asp”中加一个接收变量的语句,测试一下效果。改动后的ASP代码如下:

★ASP中基本的输入输出<br>
<%@LANGUAGE="JAVASCRIPT"%>
<%
var neirong;
var canshu;
//获取网址中变量的内容
neirong=Request("neirong_flash");
//获取无意义的参数
canshu=Request("bianliang");
//显示变量内容
Response.Write("&fanhui_asp=哈,你输入的内容已经传递给ASP,并且又已经从ASP返回到FLASH了,你输入的内容是:"+neirong+"。你传递的无意义的参数是:"+canshu);
%>

测试后发现真的可以接收到一个数字呢,而且每次点提交这个数字几乎都不一样,在0-9999之间变化。看来我们确实接收到FLASH传递过来的随机变量了,可传递的时候,地址栏里怎么没显示呢?是因为这次我们采用了“POST”传递方式,这种方式用来传递大量资料,是不会在地址栏中显示变量和它的值的。

FLASH与ASP交互实例demo01.rar

作者:jimohuoshan  来源:蓝色理想


打印】 【关闭
免责声明 :本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请发送fiyeadwyv@163.com
【免费游戏赚钱网址导航】(站长QQ:9792414)多站号请误用相同密码 【站长信箱】幸运28交流群号:122287647
游戏赚钱平台
注册地址
企业/个人
企业
 有赚网与蹦蹦网是深度合作关系
企业
手机app端赚钱名称
下载安装后输入邀请码领额外红包
估计日赚收入(亲体验)
下载方式
闪电盒子
邀请码:413270540831
3元
 安卓手机各应用市场(推荐应用宝),苹果手机输入名称查找。
中青看点
邀请码:25741975
2元
趣头条
邀请码:A443657406
1元
 
健康游戏忠告:抵制不良游戏,拒绝盗版游戏;注意自我保护,谨防受骗上当;适度游戏益脑,沉迷游戏伤身;合理安排时间,享受健康生活。
本站声明不参与任何游戏网站经营事宜,如果你和第三方游戏网站产生纠纷事宜请自行协商解决,本站感谢你的支持和理解。
站长QQ:9792414