Flex远程访问获取数据--HTTPService

编写service类:

package services {
    import com.adobe.serialization.json.JSON;

    import log.LogUtil;

    import mx.collections.ArrayCollection;
    import mx.collections.XMLListCollection;
    import mx.controls.Alert;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.http.mxml.HTTPService;

    public class CategoryService extends HTTPService {
        [Bindable]
        public var categoryArray:ArrayCollection;
        public var testFlag:Boolean = true;

        public function CategoryService(rootURL:String=null, destination:String=null) {
            super(rootURL, destination);
            this.url = "http://192.168.1.210:8081/xxx.action";
//url为远程请求接口
            addEventListener(ResultEvent.RESULT, handleCategoryResult);

        }

        private function handleCategoryResult(event:ResultEvent):void{
            var rawData:String =  String(event.result);
            trace(rawData);
            LogUtil.debug("CategoryService",rawData);
            var o:Object = com.adobe.serialization.json.JSON.decode(rawData);//对结果进行json转换
            categoryArray = new ArrayCollection(o.result);
        }    

    }
}

结果集接收之后进行json格式转换,需要导入as3corelib.swc
在XML中引入:

  

<fx:Declarations>
        <!-- 将非可视元素(例如服务、值对象)放在此处 -->
        <services:CategoryService id="categoryService"/>
    </fx:Declarations>

在方法中调用:

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
             xmlns:s="library://ns.adobe.com/flex/spark"
             xmlns:mx="library://ns.adobe.com/flex/mx" width="342" height="60" xmlns:services="services.*" initialize="group1_initializeHandler(event)">
    <fx:Declarations>
        <!-- 将非可视元素(例如服务、值对象)放在此处 -->
        <services:CategoryService id="categoryService"/>
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.events.FlexEvent;

            import spark.events.IndexChangeEvent;

            protected function group1_initializeHandler(event:FlexEvent):void
            {
                if(categoryService.testFlag){
                    categoryService.localTest();
                }else{
                    categoryService.send();
                }

            }

        ]]>
    </fx:Script>

       <s:DropDownList id="categoryList" x="92" y="29" width="174"
                dataProvider="{categoryService.categoryArray}"
                labelField="name"
                prompt="请选择"
                change="updateSelection(event);"
                />

</s:Group>
时间: 2024-10-15 10:11:16

Flex远程访问获取数据--HTTPService的相关文章

Flex动态获取数据,服务中断报错

1.错误原因 2.错误原因 由上面提示可知,软件引起的链接中断,导致出错 3.解决办法 检查数据库链接,重新启动服务

vue使用jsonp获取数据,开发热卖推荐组件

1.安装jsonp cnpm install --save jsonp 2.jsonp API jsonp( url, opts, fn ) 3.封装jsonp方法 src/assets/js/jsonp.js import jsonp from 'jsonp'; /*data格式案例 { id:1, name:'cyy' } */ const parseParam=param=>{ /*将data格式转换为 [ [id,1], [name,cyy] ] */ let arr=[]; for(c

[Java] ES获取数据部分字段值

在ES中如何获取部分字段值,在默认情况下,ES搜索出来是source的全部字段,但有时候我们并不想获取全部字段数据,比如在开发中,我们的index中有几十个字段,每天好几十G的数据,全部返回量太大. 要获取指定字段的数据有两种方式, 1.使用默认方式查找出source所有数据,然后根据指定field进行过滤重组数据. 2.使用addField(fields)方式请求数据,然后利用getFields方式获取结果数据. 这里列出第二种方式的获取数据方式. //设置请求 SearchResponse 

MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据。

MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据. 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关系型数据库和文档型NoSQL数据库集于一身. 使用说明: ###表结构 create table assets (   item_name varchar(32) primary key, -- A common attribute for all items   dynamic_cols  blo

MySQL随机获取数据的方法,支持大数据量

最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到这里来,供大家学习. 在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法. SELECT * FROM table_name ORDER BY ran

nodejs发起HTTPS请求并获取数据

var https = require('https'); var zlib = require('zlib'); var post_data="………………";//请求数据 var reqdata = JSON.stringify(post_data); var options = { hostname: '10.225.***.***', port: '8443', path: '/data/table/list', method: 'POST', rejectUnauthoriz

HBase 高性能获取数据 - 多线程批量式解决办法

在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出此办法的性能是不能满足应用要求的,很显然对于如此成熟的HBase来说,高性能获取数据应该不是问题.下面首先简单介绍了搜索引擎的性能,然后详细说明了HBase与MySQL的性能对比,这里的数据都是经过实际的测试获得的.最后,给出了采用多线程批量从HBase中取数据的方案,此方案经过测试要比通过自定义Filter的方式性能高出很多. Solr和HBase专辑 1.“关于Solr的使用总结的心得体会”(http:

黑客获取数据信息的目的和进攻手段

进入微软.亚马逊,谷歌等美国IT企业工作人才项目,起薪40万,百度搜索(MUMCS) 黑客使用进攻取证获取凭证,如用户名和密码.这些都允许他们访问敏感数据同时能够隐瞒自己的身份,以拖延攻击时被发现的时间并避免暴露自己的行踪.黑客寻找这种以半永久记忆的形式获取存在如 RAM 内存或交换文件中的动态/非静态数据.一旦黑客获得暂时存储在明文中的用户 ID 和密码,他们就可以进入下一个等级的访问,进一步获取资源,如内部网站.文档管理系统和 SharePoint 站点,本文来自网届网. 以下为原文: "一

是用JDBC从数据库中获取数据并以java对象返回

/** * * @param c * for example Person.class * @param primaryKeys * primaryKeys为主键,参数顺序和表中保持一致 如果id, name 为主键 类名为Person 则 getEntity(Person.class,1,"name") * @return */ public static Object getEntity(Class c, Object... primaryKeys) { PreparedState