P.S 最近有一些網(wǎng)友總是詢問flash與后臺數(shù)據(jù)交互的問題,因此我就做了一些總結(jié)和整理,也想方便大家了! 目前據(jù)我所知,Flash與后臺數(shù)據(jù)交互共有下列幾種方法(如果你覺得不全,你可告知一下,我會添加上去了): 1.LoadVars(XML) 2.Flash Remoting 3.Webservice 4.XMLSocket
一.LoadVars篇 我之所以把XML也放在這里說,是因為XML和LoadVars數(shù)據(jù)交互的方式大體相同,就是傳遞時的數(shù)據(jù)內(nèi)容有點不一樣而已! 我現(xiàn)在列出在開發(fā)過程最常用的"用戶密碼驗證"實例,加以說明! //=====================================================; // Flash代碼; //=====================================================; //定義LoadVars對象; var data_lv = new LoadVars(); //提交的用戶名變量和參數(shù)值; data_lv.username = "kinglong"; //提交的密碼變量和參數(shù)值; data_lv.password = "king"; //提交后返回結(jié)果; data_lv.onLoad = function(success){ //success,數(shù)據(jù)提交是否成功; //這個只是表示數(shù)據(jù)傳輸是否成功,并不是用戶驗證的結(jié)果; if(success){ trace("數(shù)據(jù)提交成功!"); //result也是用戶驗證返回的實際結(jié)果! if(this.result=="true"){ trace("yes"); }else{ trace("no"); } }else{ trace("數(shù)據(jù)提交失敗!"); } } //數(shù)據(jù)提交方法調(diào)用; //第一參數(shù)就是提交的頁面地址; //第二參數(shù)就是返回結(jié)果對象(只要是LoadVars對象就可以了); //第三參數(shù)就是提交方式(這個和html中form表單類似,分為"post"和"get"兩種方式) data_lv.sendAndLoad("http://www.klstudio.com/save.asp",data_lv,"post"); //=====================================================; //后臺服務(wù)端頁面處理及返回內(nèi)容; //=====================================================; //接收flash提交過來的變量和接收一個頁面提交過來的變量一致的; Request("username") 就是flash端username變量傳過來的值"kinglong"; Request("password") 就是flash端password變量傳過來的值"kinglong"; ....數(shù)據(jù)庫驗證..... //如果用戶驗證通過 &result=true //如果用戶驗證失敗 &result=false //整個頁面返回內(nèi)容就是上面那一行內(nèi)容,&result對應(yīng)用著flash端的result變量; //如果是多個返回值的話,就是&result=xxx&result1=xxx這種形式就可以了;
如有不清楚的地方,你可查看flash幫助文檔! 至于XML的方式,請對應(yīng)地查看flash幫助文檔就可以了! LoadVars方式的優(yōu)點: 1.flash代碼實現(xiàn)起來簡單,方便. 2.服務(wù)端接收頁面和接收一個表單過來的數(shù)據(jù)一樣處理,不需要專門的技術(shù),所有服務(wù)端程序都可以實現(xiàn)!
LoadVars方式的缺點: 1.傳遞的變量不宜過多. 2.變量傳遞的值不能過長. 3.變量傳遞值只能使用"字符串"這一種數(shù)據(jù)類型,數(shù)據(jù)類型單一. 4.數(shù)據(jù)返回值當(dāng)中不能有"&"字符,因此比較復(fù)雜的返回值都需進(jìn)行URL編碼處理. 下次就再整理一下Flash Remoting的相關(guān)方法
出處:藍(lán)色理想
責(zé)任編輯:藍(lán)色月光
上一頁 下一頁 2.Flash Remting篇
◎進(jìn)入論壇Flash專欄版塊參加討論
|