但是我們還是要看到數(shù)組操作的好處,能遍歷,能循環(huán)操作。 所以,小弟認為只要您需要的數(shù)據(jù)能用一個通項(或者多個參數(shù))來表示或者具有一定的規(guī)律,可以用數(shù)學(xué)關(guān)系描述,用數(shù)組也能為你提高工作效率。 但是我們還需要對數(shù)組進行一定的加工,才能用。
加工步驟一:
var my_arr:Array=new Array(); my_arr[0]= "變量一=123"; my_arr[1]= "變量二=456"; 數(shù)組各項采用name=value形式,
加工步驟二:
var a:Number=my_arr.length; var i:Number my_arr[a]=""; for (i=0; i<a; i++) { my_arr[a]= my_arr[a]+ my_arr[i]+"&"; } trace(my_arr[a]);
遍歷所有數(shù)組項,用&符號連接各項,并添加到該數(shù)組的最后一項。 Trace得到變量一=123&變量二=456&,這樣就已經(jīng)得到符合要求的字符串了。
加工步驟三:
var my_urlloader:URLLoader=new URLLoader() my_urlloader.data=my_arr[a] trace(my_urlloader.data)
將上面數(shù)組的最后一項賦值,即變量一=123&變量二=456&,給my_urlloader.data
初看起來,確實很麻煩。 偶無聊,于是給Array類prototype了一個新方法toloadvars,把上面說到的幾個步驟,進行了一定的集成,如下:
Array.prototype.toloadvars=function(URLrequest:URLRequest){ var i:Number var a:Number=this.length this[a]="" for(i=0;i<a;i++){ this[a]=this[a]+this[i]+"&" } URLrequest.data=this[a] return URLrequest.data };
看看怎么用吧?新手又必要看,老鳥別笑我 舉個例子:
Array.prototype.toloadvars=function(URLrequest:URLRequest){ var i:Number var a:Number=this.length this[a]="" for(i=0;i<a;i++){ this[a]=this[a]+this[i]+"&" } URLrequest.data=this[a] return URLrequest.data }; var arr:Array=new Array(); arr[0]="a=123" arr[1]="b=456" arr[2]="c=789" arr[3]="d=abc" var my_url:URLRequest=new URLRequest() arr.toloadvars(my_url); trace(my_url.data)
- 第一步:把新定義的toloadvars方法復(fù)制到動作面板頂部,
- 第二步:定義數(shù)組,用來組織變量,注意格式。這里就看個人發(fā)揮了。用的好,能大大提高效率。
- 第三步:定義URLRequest對象
- 第四步:調(diào)用數(shù)組的toloadvars方法,傳遞參數(shù)是my_url對象。
然后就開始執(zhí)行自定義的toloadvars方法了, 該方法將自動將數(shù)組中定義的每一個變量,用&連接起來,然后將連接后的結(jié)果送到URLrequest.data屬性里面。
最后提示:最好將URLRequest對象的url,method都定義好,然后用數(shù)組組織變量,然后用toloadvars方法。這個思路會稍微清晰點,不會混亂。
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2797000-1-1.html
本文鏈接:http://www.95time.cn/tech/multimedia/2007/5077.asp
出處:藍色理想
責(zé)任編輯:tada
上一頁 AS3中數(shù)據(jù)發(fā)送與接收 [3] 下一頁
◎進入論壇RIA設(shè)計與應(yīng)用版塊參加討論
|