我们正在转换 Flex 应用程序以使用一些 REST API。
将 mx.rpc.http.HTTPService
类添加到代码后,SWF 二进制输出从 175KB 增加到 260KB。这是 Not Acceptable 打击。
有没有更好的方法从 Flex 应用程序进行轻量级 REST 调用?我们是否最好使用外部接口(interface) JS 只是从那里进行调用?
最佳答案
flash.net.URLLoader
内置于运行时中,不会导致文件大小增加。我之前将其用作 JSON 客户端,因此您应该不会有任何问题。
下面是一个非常简单的例子。请参阅 HTTP_STATUS
的文档和 HTTP_RESPONSE_STATUS
有关其限制的信息。
var request: URLRequest = new URLRequest("http://tempuri.org/service/json");
request.method = "POST";
request.contentType = "application/json";
request.data = JSON.encode(jsonObject);
var loader : URLLoader = new URLLoader(request);
// Only supported by some browsers
loader.addEventHandler(HTTPStatusEvent.HTTP_STATUS, statusCodeReceived);
// AIR only
loader.addEventHandler(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusCodeReceived);
loader.addEventHandler(Event.COMPLETE, function(ev:Event):void
{
var responseJson : String = request.data as String;
var responseJsonObject : String = JSON.decode(responseJson);
});
loader.addEventHandler(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.addEventHandler(IOErrorEvent.IO_ERROR, errorHandler);
关于apache-flex - 是否可以在 Flex 中执行轻量级 REST 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4483098/