AS 3ノート(13)、sendAndLoadの後継者
3511 ワード
As 2にはLoadVarsとXMLの両方にsendAndLoad方法があり、この方法は使用できます。 POST 方法は指定されたURLにパラメータを送信し、サーバーの応答をダウンロードしてパラメータを受け入れる。As 3.0の前に、最も普及しているデータ通信方法の一つである。AS 3.0以降、XML方法はE 4 Xの仕様を参照して定義されており、sendAndLoad方法はすでになく、LoadVarsは既にない。 類は更に消えてなくなりました。実はAS 2の中で、sendAndLoad方法の設計は不合理で、両方のデータオブジェクトの中に存在していて、構造は同じであることが分かりました。今はいいです。AS 3.0の中にこの機能をよくカプセル化しました。これはURLLoaderの登場です。URLLoader クラスはテキスト、バイナリデータまたは URL 符号化変数の形式は URL データをダウンロードします。 テキストファイル、XMLをダウンロードしています。 ダイナミックデータ駆動アプリケーションに関する他の情報の場合に有用です。既存のvariablesとxmlのデータロード方法の他に、現在はバイナリデータの方法が追加されています。これはとりあえず、AS 2のsendAndLoadをシミュレートする方法を説明します。これらの方法を完成するには、以下のような助けが必要です。URLRequest クラス URLVarables類 URLRequest クラス用に単一のHTTPを捕獲する 要求中のすべての情報、URLVarables クラスはFlashでできます アプリケーションとサーバの間で変数を転送します。詳細は、ヘルプを参照してください。次の例はsendAndLoad方法の例です。sendAndLoadEX.as/*@Author:frank Site:www.2 solo.cn Date:2008.02.15 Info:sendAndLoad*/package { import flash.events.*; import flash.net.*; import flash.display.Sprite; public クラス sendAndLoadEX extens Sprite { prvate var xmlData:XML; prvate var ウレq:URLRequest prvate var u Loader:URLLoader=new URLLoader() prvate var uVar:URLVar ables=new URLVarables() public 機能 sendAndLoadEX() { startLoad() } /* ローディング */ prvate 機能 startLoad():void { //パラメータを定義 uVar.param=「You」 エリア now visting wwww.2 solo.cn"///戻りパラメータ uVar.vtype="xml"タイプを返します //uVar.vtype = "var"; uReq=new URLRequest("your" url"); //メソッドの種類 u Req.method=URLRequest Method.POST; ureq.data=uVar; //パラメータの書式を定義 u Loader.data Format=URLLoaderData Format.TEXT; //u Loader.data Format=URLLoaderData Format.ValABLES; u Loader.addEvent Listener(Event.C OMPLETE、complette Handler); uLoader.addEvent Listener(IOErrEvent.IO_ERROR,ioError Handler; uLoader.load(uReq) } /* 読み込み成功 */ prvate 機能 compleete Handler(evt:Event):void { トラック(「成功」) //trace(evt.current Target.data.vars) xmlData=new XML(evt.current Target.data) パーrseXml(); } /* 読み込みに失敗しました */ prvate 機能 ioError Handler(evt:IOErrEvent):void { トレイ(「失敗」) } /* 解析xml */ prvate 機能 パーrseXml() { trace(xmlData.child)[0]; } } } 上記の例の出力結果は「You」です。 エリア now visting www.2 solo.cn."この例ではXML.sendAndLoad方法をシミュレーションしていますが、サーバー側はaspを使ってテストしています。コードは以下の通りです。 request("vtype"="xml" THENレスポンス.write "ダタ>「レスポンス.write」 "「&request("param")」「reponse.write」 "「ESEIF」 request("vtype"="var" THENレスポンス.write "vars="&request("param")END IF% sendAndLoadEX.asでは、uVar.paramとuVar.vtypeを2つのパラメータpostとしてサーバ端ファイルに送ります。uVar.paramはパラメータとして戻ります。uVar.vtypeはXMLまたはVarsに戻ると判断します。上記の例では、Loadvars.sendAndLoadをテストするなら、/uvaar.sendAndLodLodLoadを行うことができます。 = "var"///u Loader.data Format=URLLoaderData Format.ValABLEStrace(evt.current Target.data.vars)のコメントを削除します。evt.current Target.data.vars属性は直接test.aspからの出力値です。これは元のloadvars搭載でデータを返す方式と同じです。URLLoaderData Formatは三つのタイプがあります。TEXT、VRIABLESのほかに、BINARYはバイナリコードのフォーマットを作りました。最後に、AS 3はURLRequest Headerを通じてファイルヘッドを操作することができます。これは重要なアップグレードです。最後にこの例のファイルを添付します。http://xiazai.jb51.net/flash/sendAndLoadEX_2ソロDOTcn.zip