【问题标题】:Emulate server response in ActionScript 3在 ActionScript 3 中模拟服务器响应
【发布时间】:2011-07-17 23:08:12
【问题描述】:
我有一个用 ActionScript 3 制作的客户端应用程序。还有一个使用 Java 的服务器。服务器将以 JSON 格式发送响应,但尚未完成。所以,我需要以某种方式在某个文件中模拟来自服务器的硬编码响应。获取某些键的响应。
例如:
request: http://www.serverscript.com/GET_INFO?a=2&e="hello"
response: {some JSON object}
在 iPhone 中,我们可以使用 pList 文件。
我可以在这里使用什么以及如何使用?
【问题讨论】:
标签:
xml
actionscript-3
json
configuration-files
【解决方案2】:
您可以从包含虚拟 JSON 的纯文本文件中加载:
var file:URLRequest = new URLRequest('dummy.txt');
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,onTextLoaded);
loader.load(file);
function onTextLoaded(evt:Event):void
{
//trace the loaded content
trace(URLLoader(evt.target).data);
//decode the JSON
var useableObject:Object = JSON.decode(URLLoader(evt.target).data);
}
【解决方案3】:
您确实希望将与服务器的通信包装在其自己的类中,这样您就可以在准备好时将服务器代码重构到其中,例如
public class ServerGateway extends EventDispatcher
{
public static const SERVER_RESPONSE_EVENT:String = "serverResponseEvent";
public var responseData:String = "";
public function getInfo():void
{
//load you file here for now but replace with server calls when its done
var url:String = "your file path";
var myLoader:URLLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, handleServerGetInfo);
var request:URLRequest = new URLRequest("file.txt");
myLoader.load(request);
}
private function handleServerGetInfo(event:Event):void
{
// this will need replacing to handle server responses when done
var myLoader:URLLoader = event.target as URLLoader;
myLoader.removeEventListener(Event.COMPLETE, handleServerGetInfo);
responseData = myLoader.data as String;
dispatchEvent(new Event(SERVER_RESPONSE_EVENT));
}
}