统计在线人数...

FLASH与ASP通信原理入门

[ 来源:蓝色理想 | 作者:jimohuoshan | 时间:2006-12-18 下午 05:45:56 | 浏览:统计中... ]

要返回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

    经过前几节的学习,我们对LV类和ASP的输入输出应该已经很熟练了吧,而且我们也已经了解了LV与ASP通讯的基本原理。这个原理可能并不复杂,不过如果你想利用它做出点东西来,关键还是要看你ASP和FLASH的基本功了。遗憾的是这篇教程主要讲述FLASH与ASP通讯原理,更详细更高级的ASP和FLASH技巧,我恐怕不能多讲,不然这篇教程不知道什么时候才能写完,同时也会失去重点。这节我将简单的罗列一些ASP操作ACCESS数据库的基本知识,注意,我只是点到为止,更详细的资料和讲解网上很多,你可以自己去搜索。

    首先我们需要建立一个ACCESS数据库文件,命名为“shujuku.mdb”,并在其中新建数据表,命名为“shujubiao”。数据表中字段名称、字段类型和字段内容如下图所示。示例的数据库可以在最后下载,下载后请保存起来,因为我以后的讲解都会用到它。

    然后在数据库同文件夹下建立一个操作数据库的ASP文件,命名为“caozuo.asp”,并输入以下代码:

    <%@LANGUAGE="JAVASCRIPT"%>
    <%
    //建立一个数据库链接对象   
    lianjie = Server.CreateObject("ADODB.Connection");
    //用已经建立的数据库链接对象打开数据库
    lianjie.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("shujuku.mdb"));
    //创建一个“记录集”,即“Recordset”,它的任务是储存从数据库里提取出来的数据
    rs = Server.CreateObject("ADODB.Recordset");
    //创建查询数据库的SQL语句,这里将查出“shujubiao”中的所有数据
    sql="select * from shujubiao";
    //执行数据库查询,最后的数字参数主要用来指定打开和查询数据库的方式,有兴趣可以百度一下
    rs.Open(sql, lianjie, 3);
    %>

    说明:上面的代码,除了SQL语句外,每个ASP文件差不多都是类似的,主要用来初始和查询数据。数据是提出来了,但如果你想要按自己方式使用它们,还是要借助JS脚本来实现。另外这里要着重说一下SQL,SQL是专门用来查询数据库的语言,它可以按指定的规则查询数据库中指定的表和字段,功能强大,却又非常容易理解,基本可以从字面意思猜出其功能来,这一节的最后我会仔细讲一下常用的SQL语句。

    现在先回到我们的ASP中,继续在“caozuo.asp”中追加以下代码:

    <%
    //当前显示的页数,这里设置为第一页
    var dangqianye=1;
    //每页显示的记录条数,这里设置为5条
    var meiyejilu=5;
    //获取记录总条数
    var zongtiaoshu=rs.RecordCount;
    //设置每页显示的记录条数
    rs.PageSize=meiyejilu;
    //设置当前显示的页码
    rs.AbsolutePage=dangqianye;
    //获取总页数
    var zongyeshu=rs.PageCount;
    //输出总页数、总条数、每页记录条数以及当前页码
    Response.Write("总条数为:"+zongtiaoshu+"<br>总页数为:"+zongyeshu+"<br>每页记录条数:"+meiyejilu+"<br>当前页:"+dangqianye+"<br>");
    %>

    说明:先在IIS下运行一下,你会看到网页上显示:

    总条数为:13
    总页数为:3
    每页记录条数:5
    当前页:1

    有兴趣的朋友可以自己修改一下“meiyejilu”的值,然后再运行看看它和总页数存在什么关系,相信聪明的你一定能找到其中的规律:)注意,这里我一直在用“rs”,在第一段举例的代码中我已经注释过了,“rs”是“Recordset”对象的一个实例,我们从数据库里查询出来的数据都会储存在这个实例中,我们之所以这么做,是因为“Recordset”对象有很多属性和方法,方便我们使用,比如这里的“PageSize”和“AbsolutePage”。

    光显示条数和

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

    共有0人参与评价,平均得分:0分
    评论内容只代表网友观点,与本站立场无关! 查看完整内容
       

    当前在线人数
    QQ:748838 MSN:allen_xia#msn.com E-mail:allenxia666#126.com QQ群:站长联盟北方区-北京(28200145) 站长联盟南方区-上海(67713522)