放大镜站内搜索:


您现在的位置:首页 > 电脑 > 网页制作 > 正文
FLASH与ASP通信原理入门
学生王国 ∥ http://www.xswg.com 更新时间:2007年2月1日 调整字体:

/"+neirong2+"/"+neirong3);
wenben_txt.text = neirong1+"/"+neirong2+"/"+neirong3;
好了,最后再发布“lv_shiyan.swf”和“lv_shiyan.html”到与ASP文件相同的文件夹下,并在IIS下运行“lv_shiyan.html”,你会看到SWF的动态文本域里显示“战胜LoadVar类!/战胜ASP!/我能做FLASH留言板了!”,现在你终于可以放心的欢呼了:我们终于可以把ASP输出的内容显示在FLASH里了,哈哈……。

先喝口水吧,一眨眼快两个小时了,我怎么写的那么慢啊,加油加油!上面讲的其实是ASP怎么向FLASH传递资料,这不是真正意义上的交互,交互是双方互动的,现在我们就来看看FLASH怎么向ASP传递资料。在此之前请保证你还记得我在“★ASP中基本的输入输出”一节中讲的ASP是怎么接收一个变量的,我们还用那一节所用的“asp_jichu.asp”文件,当时我是通过GET方式直接在浏览器地址栏中对“neirong_wangzhi”进行赋值的,并且测试证明ASP确实通过Request接收到了这个变量的值。现在我们就是要让FLASH做地址栏做的事,我们要通过FLASH对“neirong_wangzhi”进行赋值。

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

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;”这句代码在输出文本框中显示新返回的内容
    经过这个分析,相信大家应该可以从总体上有一个理性的认识了吧。
<

11共  上一页 1 2 3 4 5 6 7 8 9 10 11 下一页


相关链接
来自:蓝色理想
编辑:
浏览:
评论查看全部评论
您的评论
姓名:
请您注意:
1.请遵守《中国互联网行业自律条款》及中华人民共和国其他各项有关法律法规。
2.严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
3.用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
4.本站管理员有权保留或删除评论内容。
评论内容只代表网友个人观点,与本网站立场无关。