我在我的AS3中经常调用一个PHP文件的函数。大多数时候它工作,但偶尔会失败并抛出标题中使用的错误。我研究这个相当广泛,并开始以下列方式捕获事件:错误#2044:未处理ioError :.文本=错误#2032:流错误。在AS3
public static function Bar():void {
var request:URLRequest = new URLRequest("path/to/file.php");
var requestVariables:URLVariables = new URLVariables();
var loader:URLLoader = new URLLoader();
requestVariables.event = "foo";
request.method = URLRequestMethod.POST;
request.data = requestVariables;
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.load(request);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false, 0, true);
loader.addEventListener(Event.COMPLETE, onIOComplete, false, 0, true);
}
private static function onIOComplete(e:Event):void
{
var loader:Loader = e.target as Loader;
if (loader != null)
{
loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.removeEventListener(Event.COMPLETE, onIOComplete);
}
Logger.log("LOADER COMPLETE");
}
private static function onIOError(e:IOErrorEvent):void
{
var loader:Loader = e.target as Loader;
if (loader != null)
{
loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.removeEventListener(Event.COMPLETE, onIOComplete);
}
Logger.log("ERROR: " + e.toString());
}
尽管上面的代码中,我还偶尔看到的误差。有更多的我应该/可以做些什么?
究竟在哪里抛出错误?您可以在调试中运行它并逐步完成。我想到的第一件事就是使用try catch块,但是确切知道哪一行代码导致错误将是首要问题。 – ToddBFisher 2011-12-20 18:25:09
可能“路径/到/ file.php”是问题?也许“http://url/to/file.php”会工作... – Frank 2011-12-20 20:21:53