2011-06-28 8 views
0

私は、ユーザが変更を保存できるようにするスケジューリングアプリケーションを持っています。ユーザーが保存ボタンをクリックすると、Flexはすべての情報をColdFusionスクリプトに送信し、ColdFusionスクリプトは情報を選択して送信し、データベースに保存します。それはすべてうまくいきますが、「ファイルが正常に保存されました」や「エラーが発生しました。管理者に連絡してください」といったユーザーに何らかのテキストを表示できるようにしたいと考えています。Flex:coldfusionファイルに情報を送信した後、URLLoaderからのフィードバックを得る

import flash.net.URLLoader; 
import flash.net.URLRequest; 
private function save():void 
{ 
    var tempString:String = new String; 
    // Set up a URL request, loader, and variables 
    var progressOutURL:URLRequest = new URLRequest("saveSchedule.cfm"); 
    var progressOutLoader:URLLoader = new URLLoader(); 
    var progressOutVars:URLVariables = new URLVariables(); // Set the variables to be sent out 

    for (var i:int = 0; i < wholeProject.length; i++) 
    { 
     tempString = new String; 
     tempString = wholeProject[i].projectTitle + "|" + wholeProject[i].workingTitle + "|" + wholeProject[i].startDate + "|"; 
     for (var j:int = 0; j < wholeProject[i].thisBlock.length; j++) 
     { 
      tempString = tempString + wholeProject[i].thisBlock[j].startOffset + "," + wholeProject[i].thisBlock[j].numDays + "," + wholeProject[i].thisBlock[j].role + "," + wholeProject[i].thisBlock[j].sID + "," + wholeProject[i].thisBlock[j].isConflict + "," + wholeProject[i].thisBlock[j].positionType + ";"; 
     } 
     progressOutVars["project" + i] = tempString; 
    } 

    progressOutURL.method = URLRequestMethod.POST; 
    progressOutURL.data = progressOutVars; 
    progressOutLoader.load (progressOutURL); 
} 

をそして、私のColdFusionファイルは以下のとおりである(今私は確認することができますように、それだけでデータが送信された情報のにcfdumpを節約できます):次のように機能AS

私はある

<cfsavecontent variable="toOutput"> 
    <cfdump var="#FORM#" /> 
</cfsavecontent> 

<cffile action="write" file="#GetDirectoryFromPath(GetCurrentTemplatePath())#output.html" output="#toOutput#" /> 

「progressOutLoader.load(progressOutURL);」という方法はありますか?送信が成功したかどうかを示すブール値などを返します。

答えて

2
progressOutLoader.addEventListener(Event.COMPLETE,resultHandler); 

public function resultHandler(event:Event):void { 
Alert.show("Success"); 
} 

同様に他のイベントも処理します。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html

なぜFlex HTTPServiceを使用していないのですか? URLLoaderの代わりに

+0

私はHTTPServiceを実行する前にURLloaderを使用してそれを行う方法を見つけました。他のものよりも優れていますか? – Brds

+0

説明のリンク:http://stackoverflow.com/questions/278965/flex-urlloader-and-httpservice – Satish

関連する問題