ブラウザでダウンロード
http によるデータ送信
どのようなフォーマットで通信するかはともかくとして、
クライアントで発生したデータをサーバで取得する基本的な部分です
http の処理としては大きく分けて2通りありますが、
これが最も一般的な方法です
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="initData();"
>
<mx:Script>
<![CDATA[
import mx.controls.*;
import mx.events.*;
import mx.rpc.events.*;
import mx.formatters.*;
import flash.external.*;
// *********************************************************
// アプリケーションの初期化
// *********************************************************
public function initData():void {
firebug("処理開始")
}
// *********************************************************
// ログ表示
// *********************************************************
public function firebug(data:Object):void {
var fmt:DateFormatter = new DateFormatter();
fmt.formatString = "YYYY/MM/DD HH:NN:SS";
var logdt:String = fmt.format( new Date );
ExternalInterface.call(
"console.log", logdt,
data+""
);
}
// *****************************************************
// HTTPServiceを使用してHTTPリクエスト(GET)を行う
// *****************************************************
private function sendData():void {
// リクエストするURLをセット
srv.url = "response.php";
srv.request.fld1 = fld1.text;
srv.request.fld2 = fld2.text;
srv.request.fld3 = fld3.text;
// レスポンス結果のデータフォーマット
srv.resultFormat = "text";
srv.method = "GET";
srv.send();
}
// *****************************************************
// HTTPServiceが成功
// *****************************************************
private function resultHandler(e:ResultEvent):void {
Alert.show(e.result.toString());
}
// *****************************************************
// HTTPServiceでエラーが発生した
// *****************************************************
private function faultHandler(e:FaultEvent):void {
Alert.show(e.fault.message);
}
]]>
</mx:Script>
<mx:HTTPService
id="srv"
showBusyCursor="true"
result="resultHandler(event)"
fault="faultHandler(event)"
/>
<mx:Form width="90%" height="90%">
<mx:FormHeading label="http データ通信"/>
<mx:FormItem
label="フィールド1"
labelStyleName="labelAlign"
paddingBottom="30"
>
<mx:TextInput id="fld1" />
</mx:FormItem>
<mx:FormItem
label="フィールド2"
labelStyleName="labelAlign"
paddingBottom="30"
>
<mx:TextInput id="fld2" />
</mx:FormItem>
<mx:FormItem
label="フィールド3"
labelStyleName="labelAlign"
paddingBottom="30"
>
<mx:TextInput id="fld3" />
</mx:FormItem>
<mx:FormItem
label=""
labelStyleName="labelAlign"
paddingBottom="30"
>
<mx:Button
id="btn"
label="送信"
click="sendData()"
/>
</mx:FormItem>
</mx:Form>
</mx:Application>
PHP 側のコード
基本的に、$_GET または $_POST を処理して決められたフォーマットで返すという事
しかしません。表に出無い部品として完全に裏方として徹します。
( セッションは普通に使えます )
<?
header( "Content-Type: text/html; Charset=utf-8" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
print_r($_GET);
?>
|