FLASH与ASP通信入门教程——做真正属于自己的留言本第5/5页

yizhihongxing

FLASH与ASP通信入门教程——做真正属于自己的留言本

1. 前言

在本篇教程中,我们将学习如何使用FLASH和ASP进行通信,并使用这个技术制作一个简单的留言本。通过这个实例,我们可以学到如下知识:

  • 使用FLASH实现数据文件的读取和写入。
  • 基于ASP的服务器端数据处理和存储。
  • 使用FLASH和ASP进行数据的双向通信。

2. 准备工作

在开始这个实例前,我们需要进行以下准备工作:

  • 安装Adobe Flash软件。
  • 熟悉Flash界面和基本操作。
  • 熟悉ASP基础语法(如变量定义、运算符、条件语句等)。
  • 一个支持ASP的Web服务器(如IIS)。

3. 实现步骤

3.1 构建留言本UI

首先,我们需要在FLASH中构建留言本UI。可以参考以下示例代码:

//设置文本框样式
var tf:TextFormat = new TextFormat();
tf.font = "Arial";
tf.size = 14;

//创建输入框和提交按钮
var input_txt:TextField = new TextField();
input_txt.type = "input";
input_txt.border = true;
input_txt.borderColor = 0x000000;
input_txt.backgroundColor = 0xFFFFFF;
input_txt.width = 200;
input_txt.height = 50;
input_txt.defaultTextFormat = tf;
input_txt.x = 50;
input_txt.y = 50;
addChild(input_txt);

var submit_btn:SimpleButton = new SimpleButton();
submit_btn.upState = new TextField();
submit_btn.upState.width = 100;
submit_btn.upState.height = 30;
submit_btn.upState.defaultTextFormat = tf;
submit_btn.upState.text = "提交";
submit_btn.overState = new TextField();
submit_btn.overState.width = 100;
submit_btn.overState.height = 30;
submit_btn.overState.defaultTextFormat = tf;
submit_btn.overState.text = "提交";
submit_btn.downState = new TextField();
submit_btn.downState.width = 100;
submit_btn.downState.height = 30;
submit_btn.downState.defaultTextFormat = tf;
submit_btn.downState.text = "提交";
submit_btn.hitTestState = submit_btn.upState;
submit_btn.x = 260;
submit_btn.y = 50;
addChild(submit_btn);

3.2 实现数据写入

接下来,我们需要将用户输入的数据写入到服务器中。为了实现这个功能,我们需要使用ASPl提供的ADODB组件,将数据插入到数据库中。以下是示例代码:

<%
//连接数据库
dim conn,rs
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.MapPath("../data/message.mdb"))
//插入数据
sql="insert into messages (content) values ('"&Request("content")&"')"
conn.Execute(sql)
//返回状态
response.write "success"
//关闭数据库连接
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>

这段代码可以将用户输入的内容作为一条留言插入到名为message.mdb的数据库中,并返回"success"表示操作成功。

3.3 实现数据读取

为了在FLASH中显示留言,我们需要从服务器中读取留言数据。使用方法同样是调用ASP页面,读取数据库中的数据,并返回数据列表。以下是示例代码:

<% 
//连接数据库
dim conn,rs
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.MapPath("../data/message.mdb"))
//查询数据
sql="select * from messages order by id desc"
set rs=conn.Execute(sql)
//返回数据
response.write "<messages>"
while not rs.eof
    response.write "<message>"&rs("content")&"</message>"
    rs.movenext
wend
response.write "</messages>"
//关闭数据库连接
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>

这段代码可以将数据库中的所有留言按照ID倒序排列,并以XML格式返回。

3.4 实现数据交互

最后,我们需要使用FLASH和ASP进行数据的双向通信。FLASH需要调用ASP并传递数据,ASP也需要将数据通过FLASH进行回传。以下是示例代码:

//提交按钮按下事件
submit_btn.addEventListener(MouseEvent.CLICK, onSubmit);

function onSubmit(evt:MouseEvent):void 
{
    //创建URL请求
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest("submit.asp");
    request.method = URLRequestMethod.POST;
    var variables:URLVariables = new URLVariables();
    variables.content = input_txt.text;
    request.data = variables;
    //发送请求
    loader.load(request);
    //监听状态
    loader.addEventListener(Event.COMPLETE, onResult);
}

function onResult(evt:Event):void 
{
    //显示结果
    result_txt.text = evt.target.data;
}

//页面加载事件
loader.addEventListener(Event.COMPLETE, onLoaded);
var request:URLRequest = new URLRequest("load.asp");
request.method = URLRequestMethod.GET;
loader.load(request);

function onLoaded(evt:Event):void 
{
    var xml:XML = new XML(evt.target.data);
    for each (var node:XML in xml.message) {
        //显示留言
        message_txt.appendText(node.toString() + "\n");
    }
}

这段代码可以将用户输入的内容通过POST方式发送给名为submit.asp的服务器端页面,并将结果显示在result_txt文本框中。同时,也可以通过GET方式请求名为load.asp的页面,将留言内容显示在message_txt文本框中。

4. 总结

通过本篇教程,我们学习到了使用FLASH和ASP进行通信的基本方法,并通过实际实现了一个简单的留言本。可以继续扩展这个实例,例如实现留言的分页、过滤等功能。这些扩展可以使用类似的方法轻松实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:FLASH与ASP通信入门教程——做真正属于自己的留言本第5/5页 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • MySQL内联和外联查询

    内连: 内连接是通过在查询中设置连接条件的方式,来移除查询结果集中某些数据行后的交叉连接。简单来说,就是利用条件表达式来消除交叉连接的某些数据行。 在MySQL FROM 子句中使用关键字 INNER JOIN 连接两张表,并使用 ON 子句来设置连接条件。如果没有任何条件,INNER JOIN 和 CROSS JOIN 在语法上是等同的,两者可以互换。 语…

    MySQL 2023年4月13日
    00
  • redis笔记

    批量删除redis-cli keys “trade*” | xargs redis-cli del 更好的方式 keys * 命令在数据量很大的情况下,直接在redis cli中执行会严重影响服务器性能,更好的方式是在lua脚本中执行 eval方式执行redis lua lua方式通配符查找 redis-cli eval “return redis.call…

    Redis 2023年4月11日
    00
  • SQL Server中Table字典数据的查询SQL示例代码

    查询Table(表)字典数据是SQL Server数据库管理中必不可少的一部分。Table字典数据的查询可以帮助我们了解表的结构、大小和关系,方便我们进行数据库维护和优化。下面是SQL Server中Table字典数据的查询SQL示例代码的完整攻略: 1.使用系统保存的存储过程查询Table字典数据的SQL示例代码 在SQL Server中,系统自带了sp_…

    database 2023年5月21日
    00
  • JSP实现分页效果

    关于“JSP实现分页效果”的攻略,我将从以下几个方面逐一介绍: 分页算法的原理 JSP页面中如何实现分页效果 JSP页面中如何显示分页信息 附带两个示例 分页算法的原理 分页是指将大量的数据分成若干页,每页只显示少量的数据,通过翻页来浏览全部数据的一种方式。在实现分页效果之前,需要先掌握分页算法的原理。其中主要包括两个因素:数据总数和每页显示数据的数量。通过…

    database 2023年5月22日
    00
  • SQL语句中EXISTS的详细用法大全

    下面详细讲解一下“SQL语句中EXISTS的详细用法大全”: 什么是EXISTS? EXISTS是一个用于判断子查询是否返回数据的操作符号,如果子查询返回了至少一行数据,那么就会返回True,否则返回False。 EXISTS的语法 EXISTS的语法如下: SELECT column_name(s) FROM table_name WHERE EXISTS…

    database 2023年5月18日
    00
  • 详解MySQL BETWEEN AND:范围查询

    MySQL BETWEEN AND 是一种用于范围查询的操作符,它可以帮助我们方便地查询某个数值或日期在某个范围内的记录。 它的语法如下: SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2; 其中, table_name 是我们要查询的表名。 column_name 是我…

    MySQL 2023年3月9日
    00
  • MongoDB执行mongoexport时的异常及分析(数字类型的查询)

    MongoDB执行mongoexport时的异常及分析(数字类型的查询) 问题背景 在使用mongoexport导出数据时,会出现数字类型的查询查询结果错误的情况。例如,当使用查询条件{“age”: 10}查询数据时,却返回了完全不符合的数据结果。 问题分析 问题在于,MongoDB中数字类型的查询在执行查询的时候,会默认将符合条件的查询字段通过字符串类型的…

    database 2023年5月21日
    00
  • Shell、Perl、Python、PHP访问 MySQL 数据库代码实例

    Shell、Perl、Python、PHP都是常用的编程语言,通过它们,我们可以方便的访问和操作MySQL数据库。下面,我们将详细讲解在这些编程语言中如何访问MySQL数据库,以及提供一些代码实例。 一、Shell访问MySQL数据库 Shell是一种常见的面向文本的命令行界面,可以通过Shell脚本实现对MySQL数据库的访问和操作。 1. 安装MySQL…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部