SQLの窓

2011年04月25日


Flex4 : HTTPService で入力データを PHP に送る

▼ 実行時の表示のキャプチャ画像



Flex3 のころと比べて、多少記述方法が変わっており、そのまま移行しようとするとエラーになります。

<fx:Declarations>〜</fx:Declarations>を使って、 現在のクラスの非デフォルト、非ビジュアルプロパティを宣言します。

response.php のソースコード
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
	xmlns:mx="library://ns.adobe.com/flex/mx"
	xmlns:s="library://ns.adobe.com/flex/spark"
	initialize="initData()"
>
<!--
***************************************************
 Flex4 における 絶対位置指定
*********************************************** -->
<s:layout>
	<s:BasicLayout />
</s:layout>

<!--
***************************************************
 現在のクラスの非デフォルト、非ビジュアルプロパ
 ティ を宣言します。例えば、効果、バリデーター、
 およびフォ ーマッターを定義します。
*********************************************** -->
<fx:Declarations>
	<!--
	*****************************************
	 Flex4 における HTTP 通信定義
	************************************* -->
	<mx:HTTPService
		id="srv"
		showBusyCursor="true"
		result="resultHandler(event)"
		fault="faultHandler(event)"
	/>
</fx:Declarations>

<fx:Script>
<![CDATA[

	import mx.formatters.*;

	// HTTPService のイベント用
	import mx.rpc.events.*;
	// Alert 用
	import mx.controls.*;
	// CloseEvent
	import 	mx.events.*;

	// *********************************************************
	// ログ表示
	// *********************************************************
	private function log(data:Object):void {

		// 日付編集用
		var fmt:DateFormatter = new DateFormatter();

		fmt.formatString = "YYYY/MM/DD HH:NN:SS";
		var logdt:String = fmt.format( new Date );

		// JavaScript の呼び出し
		ExternalInterface.call(
			"console.log", logdt,
			" "+data
		);

	}

	// *********************************************************
	// アプリケーションの初期化
	// *********************************************************
	private function initData():void {

		// メッセージ
		log("initData() が実行されました" );

	}

	// *****************************************************
	// HTTPServiceを使用してHTTPリクエスト(GET)を行う
	// *****************************************************
	private function sendData(event:Event):void {

		log( event.target.label + " が押されました" );

		// ● リクエストするURLをセット
		srv.url = "response.php";

		srv.request.fld1 = scode.text;
		srv.request.fld2 = sname.text;

		// レスポンス結果のデータフォーマット
		srv.resultFormat = "text";
		srv.method = "GET";
		srv.send();

	}

	// *****************************************************
	// HTTPServiceが成功
	// *****************************************************
	private function resultHandler(e:ResultEvent):void {

		Alert.show(
			e.result.toString(),
			"結果表示",
			Alert.OK | Alert.CANCEL,
			null,
			function(e:CloseEvent):void {
				if ( e.detail == Alert.OK ) {
					log("OK");
				}
				if ( e.detail == Alert.CANCEL ) {
					log("CANCEL");
				}
			}
		);

		log( "Alert が閉じる前にここが実行されます" );

		// 1) 表示するテキスト
		// 2) タイトル文字列
		// 3) ボタンの種類
		// Alert.OK Alert.CANCEL Alert.YES Alert.NO を | で論理和で指定
		// 4) 親オブジェクト
		// 通常は null を指定します
		// 5) イベント
 
	}

	// *****************************************************
	// HTTPServiceでエラーが発生した
	// *****************************************************
	private function faultHandler(e:FaultEvent):void {

		Alert.show(e.fault.message);

	}

]]>
</fx:Script>

<!--
***************************************************
 Flex4 における 絶対位置指定の画面定義
*********************************************** -->

	<s:Label
		x="10" y="10"
		text="社員コード"
	/>
	<s:TextInput
		x="100" y="10"
		id="scode"
	/>

	<s:Label
		x="10" y="35"
		text="社員名"
	/>
	<s:TextInput
		x="100" y="35"
		id="sname"
	/>

	<s:Button
		x="10" y="80"
		label="送信"
		click="sendData(event);"
	/>

</s:Application>

ビルド方法に関する記事

Flex4 : バッチビルドキット (110417)


【Flexの最新記事】
posted by lightbox at 2011-04-25 21:26 | Flex | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり