返回织梦建站服务网首页 业界新闻 教程文档 资源下载 酷站鉴赏 免费服务 站长工具
织梦建站工作室
织梦建站论坛
载入中…
专题栏目
最新热门
>>更多热门...  
最新推荐
>>更多推荐...  
  您现在的位置: 织梦建站服务网 >> 建站教程 >> WEB多媒体 >> Flash >> 教程正文
FLASH与ASP通信原理入门          
HITS: TIME:2007-4-27 9:58:24 AUTHOR:jimohuos… URL:蓝色理想
CONTENT INTRODUCE :
放大文字  缩小文字  发表评论  加入站内收藏夹  告诉好友  打印模式  关闭窗口 

经常有人问我FLASH留言板的制作方法,无奈这东西一句两句没办法说清楚,于是就萌发了写教程的想法。可后来又一想,授人以鱼,不如授人以渔,还不如集中精力好好讲将FLASH与ASP的通讯原理,原理通了,具体项目就可以自由发挥了。

我这个教程面向初级群体,在开始教程之前,我假设你已经具备FLASH操作基础知识,了解IIS配置以及运行环境。尽管FLASH与ASP通信方式有很多,但这篇教程中我选择使用LoadVars类,一因为LoadVars类容易掌握,易于讲解;二是因为它不牵扯太多其他方面的知识。另外,我在ASP中采用的是JS脚本,因为JS脚本跟AS非常像,只要你有一定的AS基础,JS不用学就可以基本看懂了。最后是FLASH版本,我选择flash pro 8.0简体中文版,swf发布为AS2.0,flashplayer8.0。

在看我的教程之前,建议先抽出几分钟阅读一下“FLASH基础开发习惯”,这样更有利于理解我的代码。

目录

  • LoadVars类基础讲解(LoadVars类以下简称LV)
  • ASP中基本的输入输出
  • LV与ASP通讯原理
  • ASP操作数据库入门
  • LV与ASP综合运用
  • 其它通讯方式原理浅谈

这里我主要围绕我的教程进行讲解,区别有些全盘灌输的教程,我将有真对性的着重讲此类的两个方法和一个事件:load、loadAndSend方法,和onLoad事件。如果你需要更详细的了解LV类,建议你查一下帮助:帮助→flash帮助→全部书籍→ActionScript 2.0 语言参考→ActionScript 类→LoadVars。当然你也可以直接搜索LoadVars。

LV与TXT通讯
不是要讲ASP吗?怎么讲起TXT了?呵呵,先别急,其实LV跟ASP通讯原理与跟TXT通讯原理是一样的。TXT大家经常用,讲起来比较容易理解。
LV跟TXT通讯需要在TXT中采用“变量”/“值”配对的数据模式。比如:wenben=我要做FLASH留言本。这里“wenben”就是变量,“我要做FLASH留言本”就是值,而“=”就是它们的配对方式,也就是建立联系的方式。 好了,现在我们建立一个“lv_shiyan.txt”文本文件,并在其中输入:neirong_txt=我要做FLASH留言本。然后在同文件夹下再建立一个“lv_shiyan.fla”,在第一贞写代码:

//设置编码,不然会显示乱码
System.useCodepage = true;
//实例化一个LV对象
var shiyan_lv = new LoadVars();
//载入外部文本
shiyan_lv.load("lv_shiyan.txt");
//载入成功后
shiyan_lv.onLoad = function(chenggong) {
if (chenggong) {
    //获取外部文本内容
    var neirong = shiyan_lv.neirong_txt;
    //输出文本内容
    trace("您载入的文本内容是:"+neirong);
}else{
    //加载失败给予提示
    trace("加载失败");
  }
};

运行上面的代码,你会在输出面板中看到“您载入的文本内容是:我要做FLASH留言本”,由此可见,外部“lv_shiyan.txt”中的内容已经成功加载。有兴趣的朋友可以改动一下TXT文件名,试验一下加载失败的情况。

通过上面的代码,我们学到以下知识
1,如何实例化一个LV对象(使用new关键字)
2,如何用LV对象加载外部文本文件(使用load方法)
3,如何判断外部文本文件是否加载成功(使用onLoad事件)
4,当外部文本文件加载成功后,如何获取并利用其内容。
在外部文本文件中,我们之所以使用“变量/值”配对的数据格式,正是为了被LV对象利用,当外部文本文件加载成功后,其中的变量就会被LV对象记录,而在AS中通过LV对象引用外部变量的方式则为:LV对象.外部文本文件中的变量名字。上面的代码中即为:shiyan_lv.neirong_txt。

上面的例子中讲了LV与TXT通讯的基本原理,现在我们来扩展一下,如果我们想在一个外部TXT中使用多个变量如何做呢?答案其实很简单,我们只需在TXT中使用多个“变量/值”对,并把每个“变量/值”对用“&”进行分隔。我们依然利用上面示例的“lv_shiyan.txt”文件,这次把里面的内容换成下面的形式:
neirong1_txt=战胜LoadVar类!&neirong2_txt=战胜ASP!&neirong3_txt=我能做FLASH留言板了!
然后再把“lv_shiyan.fla”中的代码换成下面的内容:

System.useCodepage = true;
var shiyan_lv = new LoadVars();
shiyan_lv.load("lv_shiyan.txt");
shiyan_lv.onLoad = function(chenggong) {
if (chenggong) {
    //获取外部文本内容
    var neirong1 = shiyan_lv.neirong1_txt;
    var neirong2 = shiyan_lv.neirong2_txt;
    var neirong3 = shiyan_lv.neirong3_txt;
    //输出文本内容
    trace("您载入的文本内容是:"+neirong1+"/"+neirong2+"/"+neirong3);
}else{
    trace("加载失败");
  }
};

运行上面的代码,在输出窗口我们可以看到“战胜LoadVar类!/战胜ASP!/我能做FLASH留言板了!”,说明我们获得了外部TXT中全部的变量内容。

有兴趣的朋友可以把“lv_shiyan.txt”中的内容改成下面的形式看输出结果有没有变化:

&neirong1_txt=战胜LoadVar类!
&neirong2_txt=战胜ASP!
&neirong3_txt=我能做FLASH留言板了!
然后再改成下面的结果再试验一下输出结果:)
&neirong1_txt=战胜LoadVar类!&
&neirong2_txt=战胜ASP!&
&neirong3_txt=我能做FLASH留言板了!&
原因其实很简单,自己思考一下拉:)

呼呼,好了,LV类先讲到这里了,下面讲讲ASP的基本格式和语法,尤其是输入输出语句。

ASP经过长时间的积淀,其内容非常丰富,但如果仅是为了开发一个简易的留言本,那只需要掌握最基本的输入输出就可以了。

我们新建一个asp_jichu.asp文件,在里面输入“★ASP中基本的输入输出”,然后保存。OK,这样我们就创建一个ASP文件了。怎么样?十分简单吧:)然后我们在IIS下运行这个ASP文件,就会看到网页上显示“★ASP中基本的输入输出”。内容虽然能显示,但这样的显示对我们几乎没有任何作用。ASP为何为ASP?主要是因为它能完成服务器与客户端的交互,比如它能接收客户端发送的变量,并根据这些变量以特定的方式显示客户需要的信息。而上面的“asp_jichu.asp”,并没有起到任何交互作用,也就失去了ASP的意义。

在正式开始交互讲解之前,还有必要先讲一下ASP文件的组成。ASP文件的构成只用一句话就能概括:所有的ASP语句都以“<%”开始,以“%>”结束。还有一点需要提示的是,在IIS中,一般默认ASP使用VBScript,但我们使用的是javascript,所以在ASP文件一开始,我们需要加上一句:

<%@LANGUAGE="JAVASCRIPT"%>

切入重点,首先讲如何向ASP传递变量。方法有两种,即常见的GET和POST方法。GET方法适用于传递少量内容,一般在2K以内,变量及内容会附加在网址后面,变量以“?”开头,变量和内容之间同样遵循上一篇中讲的“变量/值”配对原则。而POST方法,能够传递大量内容,且内容不会显示在网址中。虽然GET方式传递的内容少,而且不安全,但用来做教程演示却非常直观。现在我就用这种方式来演示ASP如何接收变量。还是利用我们开始建立的那个“asp_jichu.asp”文件,在其中输入如下内容并保存:

★ASP中基本的输入输出<br>
<%@LANGUAGE="JAVASCRIPT"%>
<%
var neirong;
//获取网址中变量的内容
neirong=Request("neirong_wangzhi");
//显示变量内容
Response.Write("地址栏传递过来的内容是:"+neirong);
%>

然后在IIS下运行这个文件,我们会看到网页中显示:

★ASP中基本的输入输出
地址栏传递过来的内容是:undefined

首先我需要对“asp_jichu.asp”中的语句进行一下讲解,在ASP中,用来接收资料的是“Request”对象,而用来输出内容的是则是“Response”对象的“Write”方法。需要注意的是,Request接收变量时,需要加上引号,而Response输出变量时,则不需要。这样一讲,上面的代码便不难理解,一开始我们定义一个变量“neirong”,然后用它记录传递给ASP的变量“neirong_wangzhi”中的内容,最后输出“neirong”。但是我们并没有对“neirong_wangzhi”进行赋值,所以得到了“undefined”。现在我们就使用GET方法对变量“neirong_wan

[1] [2] [3] [4] [5] [6] [7] [8] 下一页

教程录入:jerome    责任编辑:jerome 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

    相关教程
    使用VB将ASP代码封装生成DLL文件
    浅谈flash web的结构
    A*寻路,二叉堆优化及AS3实现
    Apollo是危险的吗?
    Apollo 开发技巧
    APOLLO 未来畅想
    Flash纯脚本生成饼图
    基于flash的360虚拟现实引擎实现
    XML动态菜单
    Flash破解与加密
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    湘ICP备05010790号 {$Wap}
    关于我们 | 版本历史 | 联系方法 | 隐私条例 | 链接我们 | 广告服务 | 常见问题 | 友情链接 | 网站公告 | 设为首页 | 收藏本站
    Copyright © 2001-2006 17zm.NET All Rights Reserved.  织梦建站工作室[织梦建站工作室]™荣誉出品. Since 2001