| |
用Flash和XML构建论坛实例(上) |
出处:PConline 责任编辑:pcedu |
| [04-4-2 10:20]
| 作者:翅膀
|
前面一篇《Flash MX 2004中的XML应用之原理篇》介绍了在Flash中使用XML来实现通讯的原理。现在我们就来看看这方面的应用实例――用Flash、Asp、XML来构建一个论坛。 先来看看论坛的功能,有登陆,查看主题,查看正文,发表新主题,回复主题,删除,权限管理等等基本功能,根据需要在此基础上稍作修改,就可以实现一个功能比较完备的论坛了。下面就按顺序一个一个来实现论坛的功能,每一个介绍的内容都分为“传递的XML”、“Flash端”、“Asp端”三部分。
点击附件下载本教程的源文件及代码 一、登陆 登陆就是将用户名和密码用XML格式发送到服务器端,服务器端将验证的结果用XML格式返回。 A、传递的XML
所谓传送的XML,就是在服务器端跟Flash端之间传送的XML字符串,也就是一般意义上的通讯报文了。 1、请求报文
| <LOGIN><USERNAME>用户名</USERNAME><PWD>密码</PWD></LOGIN> |
2、响应报文
| <LOGIN name=”用户名” right=”权限”></LOGIN> |
B、Flash端 1、在Flash MX 2004中新建一个Flash文件,在场景的第一帧的ActionScript面板上增加语句:
stop();
2、在第一帧的场景中用文本工具拉两个文本框,类型都为“Input type”,变量名var分别设置为“username”、“pwd”,这是用来输入用户名跟密码的。
3、新建一个Button并拖到第一帧的场景中,摆放位置如图1所示。并在这个Button的ActionScript面板中增加如下语句: 
| on(release){ loginXml = new XML(); // 注释1 loginElement = loginXml.createElement("LOGIN"); // 注释2 // name node nameElement = loginXml.createElement("USERNAME"); // 注释3 nameNode = loginXml.createTextNode("name"); // 注释4 nameNode.nodeValue = _root.username; // 注释5 nameElement.appendChild(nameNode); // 注释6 // pwd node pwdElement = loginXml.createElement("PWD"); // 注释7 pwdNode = loginXml.createTextNode("pwd"); pwdNode.nodeValue = _root.pwd; pwdElement.appendChild(pwdNode); loginElement.appendChild(nameElement); // 注释8 loginElement.appendChild(pwdElement); // 注释9 loginXml.appendChild(loginElement); // 注释10
xmlRepley = new XML(); // 注释11 xmlRepley.onLoad = onLoginReply; // 注释12 function onLoginReply (success) { if (success) { // 注释13 if (xmlRepley.firstChild.firstChild.attributes.right == "1") { // 注释14 _root.gotoAndPlay("main") }else { _root.username = "登陆失败"; } } } loginXml.sendAndLoad("http://localhost/xmlbbs/login.asp", xmlRepley); // 注释15 } |
|