当前页面位置: » 丰搜网 » 文档中心 » 详细内容
用flash和xml构建论坛实例(下)
四、发表新主题
发表新主题,即是在服务器端接收从flash端发送来xml格式的文章内容,保存到数据库中,并返回xml格式的结果。
a、传递的xml
1、请求报文
| <new><id>0</id><title>标题</title><name>作者名字</name><file>文章正文</file></new> |
2、响应报文
b、flash端
1、在场景的第四帧上面创建一个关键帧,标签为“new”,在帧的action script面板上面增加如下语句:
stop();
2、在第四帧的场景中用文本工具拉两个文本框,类型都为input type,var变量名分别为“newtitle”、“newfile”。
3、在第四帧的场景里面创建一个按钮显示的内容为“发表新文”,在此button的action script上增加如下的语句:
| on (release) { if (_root.newtitle != "") { //注释1 newxml = new xml(); //注释2 newelement = newxml.createelement("new"); //注释3 //new id node newidelement = newxml.createelement("id"); //注释4 newidnode = newxml.createtextnode("id"); newidnode.nodevalue = "0"; newidelement.appendchild(newidnode); //new title node newtilteelement = newxml.createelement("title"); //注释5 newtiltenode = newxml.createtextnode("title"); newtiltenode.nodevalue = _root.newtitle; newtilteelement.appendchild(newtiltenode); //new name node newnameelement = newxml.createelement("name"); //注释6 newnamenode = newxml.createtextnode("name"); newnamenode.nodevalue = _root.username; newnameelement.appendchild(newnamenode); //new file node newfileelement = newxml.createelement("file"); //注释7 newfilenode = newxml.createtextnode("file"); newfilenode.nodevalue = _root.newfile; newfileelement.appendchild(newfilenode); newelement.appendchild(newidelement); //注释8 newelement.appendchild(newtilteelement); newelement.appendchild(newnameelement); newelement.appendchild(newfileelement); newxml.appendchild(newelement); newrepley = new xml(); //注释9 newrepley.onload = onnewreply; function onnewreply(newsuccess) { if (newsuccess) { if (newrepley.firstchild.attributes.flag1 == "1") { //注释10 _root._root.gotoandplay("main"); } } } newxml.sendandload("http://localhost/xmlbbs/newfile.asp", newrepley); //注释11 } } |
注释1:标题的内容要非空。
注释2:创建一个xml对象。
注释3:创建一个new结点。
注释4:创建一个id结点。
注释5:创建一个title结点。
注释6:创建一个name结点。
注释7:创建一个file结点。
注释8:将创建的结点都添加到xml对象中去。
注释9:创建响应的xml对象。
注释10:判断返回的结果。
注释11:向服务器端发送xml对象,并接收返回的结果。