使用Action Script 对象(例如:append Child,remove Node ,insert Before)的方法可以结构化Flash中的XML数据并发送到服务器且管理和解释卸载XML数据。 以下的XML对象方法可以通过HTTP POST方法发送和卸载XML数据到服务器。 从URL中下载卸载XML,并赋给一个Action Script XML对象。 向一个URL发送一个XML对象,任何一个返回信息都被发送到另一个浏览器窗口中。 Send And Load将一个XML对象发送URL,任何一个返回信息都被放置在Action Script XML对象。 例如,你可以为商业安全体系在数据库中创建一个brogerage系统,该安全体系存储了许多诸如用户名,密码,ID权限,私人文件夹和交易信息等所有资料。 在Flash和数据库之间传递信息的服务器端脚本能以XML格式读写数据。用Action Script可以将收集到的信息(例如,用户名和密码)转变为一个XML对象,再将数据以文件的形式发送到服务器。
Action Script还可以将服务器返回的XML文件下载到一个XML对象,并用到一段动画中。 Flash Player动画、服务器端脚本文件和数据库之间的数据流动和转换。 Brokerage系统的密码确认需要两种脚本:一个在frame1中定义的函数,以及一个创建和发送附属于窗体中Sumit按钮的XML对象的脚本。 当用户在将他们的信息输入Flash画面的文本并同时使用了变量username , password 时,这些变量必须要在发送到服务器之前转变为XML,一旦按下Submit按钮,login XML就被转变XML串并发送到服务器。
以下脚本为Sumbit按钮的附带程序。要理解这段代码,注意阅读每一段代码前,符号//后的注释语句。 On (release) { // A . Construct a XML document with a LOGIN element Login XML = new XML ( ) ; Login Element = login XML . create Element (“LOGIN”); Login Element = attributes . username = username; Login Element = attributes . password = password ; Login XML. append Child (login Element ); //B. Construct a XML object to hold the server’s reply Login Reply XML = new xml ( ) ; Login Reply XML . on Load = on login Reply ; //C. Send the LOGIN element to the server , // place the reply in login Reply XML Login XML.send AND Load (“ http//:www.ywyb.net”, Login Reply XML); } 当用户按下Submit按钮时,这段脚本的第一段将产生下面的XML; 〈LOGIN USERNAME = “Jean Smith” PASSWORD = “Very Secret” /〉 服务器接受这个XML,产生一个XML响应,并将它返回Flash动画。如果通过了密码检测,服务器的响应如下: 〈 LOGINREPLY STATUS = “OK” SESSION = “rnr6f7vkj2oe14m7jkkycilb”/〉 XML有一个SESSION属性,包含一个唯一的、随机产生的session ID,可以在其他地区的服务器和客户机之间的所有通讯中使用。如果密码有误,服务器将有如下反映: 〈LOGIN REPLY STATUS = “ FAILED”/〉 Login Reply XML这个节点必须要载入到Flash动画中的一个空XML对象。以下语句产生能接收XML节点的XML对象login reply XML: // B . Construct an XML object to hold the server’s reply Login Reply XML = new XML ( ) ; Login Reply XML . on Load = on Login Reply ; 第二段语句为login Reply XML .on Load 处理器指定on Login Reply 函数。 象来自一个load Variables 行为的数据一样,LOGINREPLY XML要素先后取得,再载入login Reply XML对象。你必须定义on Login Reply 函数,将它指定为login Reply XML .on Load的处理器,以便能处理LOGINREPLY成分。这个on Login Reply 函数被指定为包含了submit按钮的那一帧。 On Login Reply 函数被指定在动画的第一帧。要理解这段代码,注意阅读每一段代码前,符号//后的注释语句。 Function on login Reply ( ) { // Get the first XML element Var e = this . first Child ; // If the first XML element is a LOGIN REPLY element with //status OK , go to the portfolio screen . Otherwise , //go to the login failure screen and let the user try again. If (e . node Name = = “LOGIN REPLY”&& e . attributes . status = = “OK”) { //Save the session ID for future communications with server Session ID = e . attributes . session ; // Go to the portfolio viewing screen Go to And Stop ( “portfolio view”); } else { // Login failed ! Go to the login failure screen. Go to And stop (“login Failed”); } } 该函数的第一行,var e = this . first Child ; 使用了关键字this来指定了从服务器中下载到XML的XML对象login Reply XML.之所以能这么用是因为on Login Reply 被当作login Reply XML . on Load 来使用,因此虽然on Login Reply 看来只是个简单的函数,却具有login Reply XML方法的功能。 要把用户名和密码以XML的方式发送到服务器或是将一个XML响应返回到Flash动画,你还可以使用send And Load 方法,具体如下: // C . Send the LOGIN element to the server , // place the reply in login Reply XML Login XML . send And Load (http//:www.ywyb.net, Login Reply XML); 提示:这个设计只是一个例子,我们并不确定它多提供的安全程度。如果你已有一个安全的密码系统,仍要对网络安全性有足够的了解。
本文地址:http://www.eobo.cn/news/398.html
|