为了把mx:httpservice从mxml文件中提出来,做成一个单独as文件,在需要通讯的地方new一下,现在遇到的问题是如何在mxml文件获得,httpsercice返回的值,找了一下午,发现原来object.call()方法,我就叫它回调吧,使得所有问得到解决,不说了直接贴代码:
mxml页面代码(当然了还是贴一些主要的代码,通用的我就不贴了,我想大家都能自己添加上去):
首先顶一个自己写的as文件
private var http:httpSend=new httpSend();
首先要说一下的是,必须要导入你的这个文件
初始化回调函数:他的作用就是当httpservice完成以后,把数据返回给页面
http.callbackFunction=this.httpComplete; //添加回调函数
这行代码是必须的,你可以放到init()的时候,只需要一次就可以了,
说明一下,callbackFunction,是你在as文件里面定义的ojbect function,httpComplete是在mxml上面定义的函数,如下
public function httpComplete(temp:XML):void{
Alert.show(temp);
//添加你对数据的处理部门
}
只要你在任何时候想请求的时候你需要:
http.params.oragan=e.hitData.item.id; //钻取时的部门id
http.send(); //发送http请求
oragan就是你在后台要获取的参数
好了下面贴出完整的as文件:
package renderer
{
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
import flash.net.URLVariables;
public class httpSend
{
[Bindable]public var callbackFunction:Function; //回调函数
[Bindable]public var temp:XML;
[Bindable] public var params:URLVariables = new URLVariables();
private var httpService:HTTPService=new HTTPService();
public function httpSend()
{
super();
}
public function send():void{
httpService.url="http://localhost:9080/qrm/Test.do";
httpService.resultFormat="xml";
httpService.send(params);
httpService.addEventListener(ResultEvent.RESULT,complete);
httpService.addEventListener(FaultEvent.FAULT,fault);
}
public function fault(e:FaultEvent):void{
Alert.show(e.toString());
}
public function complete(e:ResultEvent):void{
temp=new XML(httpService.lastResult);
callbackFunction.call(this,temp);
}
}
}
注意红色的部分就我我们定义的回调函数;
ps:有资料上说可以用事件的方法也能实现,等下次实现了在贴出来。
分享到:
相关推荐
httpservice post get传数据
简单的 flex HttpService例子,可供初学者参考
一个flex 与 java 通过HTTPService 通信的小例子,希望对flex新手有点帮助
flex4 httpservice 例子 提取xml数据
.net 下用asp.net实现的HttpService例子; HttpService的部署方式跟网站的部署方式一样; 运行HttpClient前注意先配置下配置文件,Url为HttpService的地址
2、链接库里的HttpService类即为用于获取源码的相关操作的类,获取时相关的函数还考虑到了自动跳转(Head头的Location)、简单的Head里面的或是里的的跳转,链接库都可以实现跳转到最终所需的页面来获取源码 ...
ionic-angular封装网络请求, httpService.ts,封装post,get,基于angular HttpClient
Flex HTTPService 如何给后台传递参数 包含实例绝对简单
flex 和java的通信使用的是httpservice 但当时遇到了不知道如何获取java端的返回值给flex前端 我这个就是为了解决你烦恼而来的 绝对不忽悠你
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
Flex中利用HTTPService MXML标签(tag)将XML转化为对象(objects)
NULL 博文链接:https://gedoua.iteye.com/blog/679265
HttpService_pb12.5
Flex4_httpService远程调用JAVA。包含源码。jar包,配置。
flex通过Http和WebService与服务器通信交互,交互后台采用java的Struts2做为处理后台.
NULL 博文链接:https://topmanopensource.iteye.com/blog/425794
帶有ASP.NET的Flex HTTPService 本教程旨在演示在帶有ASP.NET的Flex 2+中HTTPService功能的使用。 Adobe Flex中有許多方法可以與ASP.NET(或簡單地說,服務器端語言)進行通信。 HttpService,WebService,WebORB...
FLEX _HTTPService的调用方法 显示数据的例子 QueryDataSet.xml
flex 解析xml文件,利用httpservice读取xml文件,按要求过滤字符串,获取对应的值
描述如何使用HTTPService,如何解析HTTPService返回的数据,以及如何使用返回的数据