資源描述:
《flash as3中數(shù)據(jù)發(fā)送與接收》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、FlashAS3中數(shù)據(jù)發(fā)送與接收先回顧一下as2中相關(guān)的解決辦法相信大部分人用的都是LoadVars類吧1varxianshi_lv=ne(9999),xianshi_lv,"post");6xianshi_lv.onLoad=function(chenggong:Boolean){7if(chenggong){8trace(xianshi_lv)9};}第1行:定義LoadVars對象,這家伙在as2時代幾乎把所有連接外部數(shù)據(jù)的事情都做完了。無敵!第234行:在LoadVars對象中存儲變量,直接發(fā)送到外部腳本中。第5行:執(zhí)行sendAndLoad方
2、法,意思是send后,load回調(diào)的數(shù)據(jù)。第6行:onLoad事件,判斷l(xiāng)oad回調(diào)數(shù)據(jù),第7行:判斷l(xiāng)oad回調(diào)是否成功。在as2時代,LoadVars類把存儲變量,連接外部數(shù)據(jù),接受回調(diào)數(shù)據(jù)這些事情都做完了。筆者也弄很久的as2,覺得這方法不錯,學(xué)習(xí)起來也很簡單。但是as3不同,為了分工清晰,把上面的存儲變量,連接外部數(shù)據(jù),接受回調(diào)數(shù)據(jù)這幾個事情都分散開了。一定程度上,本人覺得有點麻煩。不知道adobe是怎么想的。也許是本人還沒發(fā)現(xiàn)adobe的真正意圖·既然as3來了,還是按他的規(guī)矩辦吧他是什么規(guī)矩呢?第一部分:準(zhǔn)備發(fā)送數(shù)據(jù)1:考慮連接的外部url
3、地址了。as2中把url地址,變量,通通寫到LoadVars類里面。變量少沒什么,要是變量多起來,那就有點麻煩,遇上要動態(tài)修改變量那更加麻煩了。as3索性把把這一部分又分為兩塊,統(tǒng)一到URLRequest對象里面。單純的url地址用URLRequest.url表示,變量用URLRequest.data表示。修改起來方便許多。注意url地址也可以在使用URLRequest構(gòu)造函數(shù)的時候?qū)戇M去。2:數(shù)據(jù)傳送方法,post還是get。as3狠了心了,要把它分的徹徹底底。把傳送方法也弄到URLRequest對象里面去。用URLRequest對象的method屬
4、性表示。同時也有兩種定義改屬性的方法:request.method=URLRequestMethod.POST;//幫助文件中多用這種定義方式request.method="post";以上兩句是等效的。你可以試試trace(URLRequestMethod.POST)。輸入是post。由于as3的默認method是get,建議都顯示定義為post。973123448:第二部分:發(fā)送數(shù)據(jù)1:整合send和load,就用一個load()。as2中,有單獨的load()和send(),還有sendAnaLoad()。個人覺得前兩個函數(shù)沒用,既然是和外部數(shù)據(jù)
5、通訊,每一個與外部的連接中,都需要檢查flash的狀態(tài)和外部數(shù)據(jù)的狀態(tài),才能保證雙方的通信正常。那么load()和send()就丟掉,用一個就行了。ADOBE把剩下的sendAndLoad()統(tǒng)一改成load(),不僅邏輯結(jié)構(gòu)上更加合理,就連書寫都簡單了一半。相關(guān)語法:URLLoader()構(gòu)造函數(shù)public函數(shù)URLLoader(request:URLRequest=null)注意括號中是個URLRequest對象。已經(jīng)把url地址,變量,方法都包括進去了。URLLoader對象現(xiàn)在執(zhí)行的就是連接數(shù)據(jù),接受數(shù)據(jù)兩個事情,其他的都交給URLReque
6、st對象管理。因為URLLoader對象還有很多事情要做,比如偵聽連接數(shù)據(jù)和接受數(shù)據(jù)的情況,是否已經(jīng)完成操作,或者已經(jīng)完成到什么程度。在這里就大有文章了,各種各樣的loading都需要URLLoader對象的bytesLoaded屬性和bytesTotal屬性實現(xiàn)。所以說,as3的分工還是很有道理的。下面給出準(zhǔn)備數(shù)據(jù),連接外部數(shù)據(jù)的典型代碼.接受數(shù)據(jù)處理數(shù)據(jù)將在下一步討論varrequest:URLRequest=nel";//這句代碼可以自己單獨嘗試一下。筆者初學(xué),也沒詳細去研究這個。只知道傳遞接收xml數(shù)據(jù)的時候有用。呵呵request.data=
7、"bianliang=100";request.method="POST";varloader:URLLoader=newURLLoader();loader.load(request);附asp代碼,需要在iis5以上服務(wù)器上測試.保存文件為UTF-8編碼,文件名為test.asp.位于站點根目錄下.<%LANGUAGE="JAVASCRIPT"CODEPAGE="936"%>1234下一頁[感謝閱讀這篇文章,..,]<%varbianliang=Request("bianliang")Response.p;biangliang="+bi
8、anliang)Response.p;chenggong=chenggong")%>第三部分: