18.1.配置HTTPService
18.1.1. 问题
我想要创建和配置一个HTTPService 组件来允许你的应用程序来与基于HTTP 的服务通讯。
18.1.2. 解决办法
为你的应用程序添加一个HTTPService 组件,设定它的url 属性为应用程序用来接受数据的URL。如果服务的反馈是XML,就需要定制的处理, 指定一个方法到组件的xmlDecode属性来处理XML 对象。
18.1.3. 讨论
HTTPService 对象提供了所有HTTP 上跑的通讯。它包含了通过GET 或者POST 方法发送的信息,以及从URL 请求上获取的信息,甚至静态的文件。HTTPService 对象可以设定result和fault 方法处理函数分别来接受mx.event.ResultEvent 对象以及mx.event.FaultEvent 对象:
这样可以让你处理HTTP 请求的结果内容。HTTPService 对象的result 属性可以使用HTTPService 对象的result 属性。
注意这个HTTPService 的lastResult 是一个对象必须被作为一个字符广播。
HTTPService 对象也可以被用来通过GET 或者POST 变量来发送信息到一个脚本使用配置好的HTTPService 对象的request 属性
这次发送中requestedId 属性会被包装在id 标签,然后发送到HTTPService 对象设定的URL上。
在下面的范例,一个HTTPService 对象载入了一个来自与PHP 脚本的XML。
这个是PHP 脚本,它会读取Flex 应用发送来的GET 变量然后返回到格式化的XML 数据
我想要创建和配置一个HTTPService 组件来允许你的应用程序来与基于HTTP 的服务通讯。
18.1.2. 解决办法
为你的应用程序添加一个HTTPService 组件,设定它的url 属性为应用程序用来接受数据的URL。如果服务的反馈是XML,就需要定制的处理, 指定一个方法到组件的xmlDecode属性来处理XML 对象。
18.1.3. 讨论
HTTPService 对象提供了所有HTTP 上跑的通讯。它包含了通过GET 或者POST 方法发送的信息,以及从URL 请求上获取的信息,甚至静态的文件。HTTPService 对象可以设定result和fault 方法处理函数分别来接受mx.event.ResultEvent 对象以及mx.event.FaultEvent 对象:
+展开
-XML
<mx:HTTPService url="http://192.168.1.101/service.php" id="service" result="serviceResult(event)" fault="serviceFault(event)">
这样可以让你处理HTTP 请求的结果内容。HTTPService 对象的result 属性可以使用HTTPService 对象的result 属性。
+展开
-XML
<mx:Image source="{service.lastResult as String}"/>
注意这个HTTPService 的lastResult 是一个对象必须被作为一个字符广播。
HTTPService 对象也可以被用来通过GET 或者POST 变量来发送信息到一个脚本使用配置好的HTTPService 对象的request 属性
+展开
-XML
<mx:HTTPService>
<mx:request xmlns="">
<id>{requestedId}</id>
</mx:request>
</mx:HTTPService>
<mx:request xmlns="">
<id>{requestedId}</id>
</mx:request>
</mx:HTTPService>
这次发送中requestedId 属性会被包装在id 标签,然后发送到HTTPService 对象设定的URL上。
在下面的范例,一个HTTPService 对象载入了一个来自与PHP 脚本的XML。
+展开
-XML
<mx: Application xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:HTTPService url="http://localhost/service.php"
id="service"
result="serviceResult(event)" fault="serviceFault(event)"
method="GET" contentType="application/xml"
useProxy="false">
<mx:request xmlns="">
<id>{requestedId}</id>
</mx:request>
</mx:HTTPService>
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var requestedId:Number;
//trace the result of the service out
private function serviceResult(event:Event):void {
trace(service.lastResult.name);
}
// in the event that the service faults or times out
private function serviceFault(event:Event):void {
trace('broken service');
}
private function callService():void {
requestedId = input.text as Number;
service.send()
}
]]>
</mx:Script>
<mx:TextInput id="input"/>
<mx:Button label="get user name" click="callService()"/>
<mx:Text text="{service.lastResult.name}"/>
<mx:Text text="{service.lastResult.age}"/>
</mx:Application>
<mx:HTTPService url="http://localhost/service.php"
id="service"
result="serviceResult(event)" fault="serviceFault(event)"
method="GET" contentType="application/xml"
useProxy="false">
<mx:request xmlns="">
<id>{requestedId}</id>
</mx:request>
</mx:HTTPService>
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var requestedId:Number;
//trace the result of the service out
private function serviceResult(event:Event):void {
trace(service.lastResult.name);
}
// in the event that the service faults or times out
private function serviceFault(event:Event):void {
trace('broken service');
}
private function callService():void {
requestedId = input.text as Number;
service.send()
}
]]>
</mx:Script>
<mx:TextInput id="input"/>
<mx:Button label="get user name" click="callService()"/>
<mx:Text text="{service.lastResult.name}"/>
<mx:Text text="{service.lastResult.age}"/>
</mx:Application>
这个是PHP 脚本,它会读取Flex 应用发送来的GET 变量然后返回到格式化的XML 数据
+展开
-HTML
<?php
$id_number = $_GET["id"];
echo('<id>'.$id_number.'</id><name>Todd Anderson</name><age>30</age>')
?>
$id_number = $_GET["id"];
echo('<id>'.$id_number.'</id><name>Todd Anderson</name><age>30</age>')
?>
加支付宝好友偷能量挖...