像Flash中的AJAX?

时间:2010-04-14 14:00:30

标签: ajax flash actionscript

我们如何在Flash中以异步方式从服务器获取数据?我在动作中寻找像XHR这样的东西。

2 个答案:

答案 0 :(得分:3)

如果您使用URLLoader class,则可以从服务器端脚本请求数据。

我个人使用JSON在服务器和闪存之间进行通信(如果你想从javascript调用相同的脚本,则很方便)。有一个很棒的库可以在flash中解码/编码JSON字符串:http://code.google.com/p/as3corelib/

package {
    import flash.events.Event;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import com.adobe.serialization.json.*;

    class Test {
        private var loader:URLLoader;

        public function Test() {
            var request:URLRequest = new URLRequest("/api/myscript.py");
            loader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, onLoadData);

            try {
                loader.load(request);
            }catch (error:SecurityError) {
                trace("security error");
            }

        }

        private function onLoadData(e:Event) {
            var obj:Object = JSON.decode(e.target.data);
        }

    }

}

答案 1 :(得分:1)

有很多方法。您可以向服务器发送HTTP请求并设置回调。您甚至可以使用直接套接字连接(至少在Flex中)。