FLEX即时的获得XML文件信息

来源:互联网 发布:windows xp原版主题 编辑:程序博客网 时间:2024/04/27 23:40

由于访问的方式是HTTP协议的访问方式,所以存在着缓存的问题,每次不能访问到最新的XML信息,其实很简单的,只要产生一个随机的请求信息即可获得最新的内容。

虽然网上有了很多的详细介绍,但是我写下来还是为了更好的巩固一下,另外,以下的代码写法还是有点良好的感觉!



<?xml version="1.0" encoding="utf-8" ?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                layout="absolute"
                creationComplete="init()"
                width="558">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.rpc.events.FaultEvent;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.http.HTTPService;

            private function init():void
            {
                var getXML:HTTPService    = new HTTPService();
                getXML.url="catalog.xml";
                getXML.method="GET";
                getXML.resultFormat="e4x";
                var pars:URLVariables=new URLVariables();
                getXML.addEventListener(ResultEvent.RESULT, getXMLResultHandler);
                getXML.addEventListener(FaultEvent.FAULT, err);
                pars.random=Math.random(); //避免请求重复,添加随机数
                getXML.send(pars);
            }

            private function err(evt:FaultEvent):void
            {
                Alert.show("错误: " + evt.fault.toString());
            }

            private function getXMLResultHandler(event:ResultEvent):void
            {
                Alert.show("结果: " + event.result);
            }
        ]]>
    </mx:Script>
<!--    <mx:HTTPService id="getXML"/>-->
</mx:Application>