Flex 4 要与PHP通讯,先要安装 PHP 环境,如apache,mysql,php等,当然也有集成环境 XAMPP,直接解压即可使用。
先打开 XAMPP ConTrol panel 启动Apache和mysql,这样php的环境算是好了。接下来就按以下的步骤:
1.如xampp解压到了F盘,在F:\xampp\htdocs\ 建立项目文件夹 flexphpdemo,并建立一个Demo.php
并输入以下代码:
<?php
if(is_numeric($_REQUEST["Data1"])){
$ReturnData = $_REQUEST["Data1"]*10;
}else {
$ReturnData = "不是数字";
}
$results[] = "<options>";
$results[] = "<option><ReturnData>".$ReturnData."</ReturnData></option>";
$results[] = "</options>";
print implode("\n",$results);
exit;
?>
2. 在Flex 插件中新建项目,然后在Flex 中选择应用服务器类型为PHP,然后在Flex服务器中选择项目位置如下图
3.然后新建Demo.mxml,并输入以下代码:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Declarations> <s:HTTPService id="hs" url="http://localhost/flexphpdemo/HelloWorld.php" result="handleXml(event)" fault="handleFault(event)" resultFormat="e4x"> <s:request> <Data1> {TextInput1.text} </Data1> </s:request> </s:HTTPService> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; public function handleXml(event:ResultEvent):void{ TextArea1.text = event.result.toString(); TextInput2.text = event.result.option.ReturnData; } public function handleFault(event:FaultEvent):void{ Alert.show(event.fault.faultString,"ERROR"); } ]]> </fx:Script> <s:TextInput x="10" y="10" id="TextInput1" enter="hs.send()" /> <s:Button x="178" y="10" label="Button" id="Button1" click="hs.send()" /> <s:TextInput x="10" y="40" id="TextInput2" /> <s:TextArea x="10" y="70" height="216" width="233" id="TextArea1" /> </s:Application>
4.然后运行程序出现如下页面:
然后输入相关的数字,如果是数字时,将返回输入数的10倍结果。
如果不是数字,将返回“不是数字”;
证明flex与php通讯成功。