Xml 在ActionScript 3中模拟服务器响应
我在ActionScript3中制作了一个客户端应用程序。和一个基于Java的服务器。服务器将以JSON格式发送响应,但尚未完成。所以,我需要在某个文件中模拟来自服务器的硬编码响应。获取某个键的响应 例如:Xml 在ActionScript 3中模拟服务器响应,xml,actionscript-3,json,configuration-files,Xml,Actionscript 3,Json,Configuration Files,我在ActionScript3中制作了一个客户端应用程序。和一个基于Java的服务器。服务器将以JSON格式发送响应,但尚未完成。所以,我需要在某个文件中模拟来自服务器的硬编码响应。获取某个键的响应 例如: request: http://www.serverscript.com/GET_INFO?a=2&e="hello" response: {some JSON object} 在iPhone中,我们可以使用pList文件。 我可以在这里使用什么以及如何使用?您可以从包含伪JSO
request: http://www.serverscript.com/GET_INFO?a=2&e="hello"
response: {some JSON object}
在iPhone中,我们可以使用pList文件。我可以在这里使用什么以及如何使用?您可以从包含伪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);
}
您可以从包含伪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);
}
您确实希望将与服务器之间的通信封装在自己的类中,这样您就可以在服务器准备就绪时将服务器代码重构到它中
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));
}
}
您确实希望将与服务器之间的通信封装在自己的类中,这样您就可以在服务器准备就绪时将服务器代码重构到它中
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));
}
}
简易解决方案:在计算机上运行服务器:
这样你就不必模拟任何东西。您可以将服务器端代码和客户端代码放在同一台机器上,当您完成上传并完成后,无需在任何地方进行重构。您可以编写一个快速php脚本来输出一个静态json对象,这将在完成后模拟与java服务的连接。简单解决方案:在您的计算机上运行服务器: 这样你就不必模拟任何东西。您可以将服务器端代码和客户端代码放在同一台机器上,当您完成上传并完成后,无需在任何地方进行重构。您可以编写一个快速的php脚本来输出一个静态json对象,这将在完成后模拟与java服务的连接