我正在尝试使用URLLoader从服务器(与swf相同的域)加载XML文件。这应该是太简单了,但我得到了
如果我跟踪HTTP状态事件,它只会显示
状态=0
虽然我读到Mozilla没有给Flash播放器提供状态码,所以可能它没有提供信息。
我可以浏览到url,它位于内部url上,如下所示:
http://media.project:8080/audio/playlist.xml
至端口=“8080”
),尽管它不需要。
onOpen和onActivate事件都不会触发,只会触发一个HTTPStatus和IOError。
我从Adobe示例中复制了常见的URLLoader代码,我的代码如下所示:
public class PlaylistLoader extends EventDispatcher
{
public var xmlLoader:URLLoader;
public var url:String = '';
public function PlaylistLoader(url:String)
{
url = url;
trace(url);
xmlLoader = new URLLoader();
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
xmlLoader.addEventListener(Event.COMPLETE, onResult);
xmlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
xmlLoader.addEventListener(Event.OPEN, onOpen);
xmlLoader.addEventListener(Event.ACTIVATE, onActivate);
}
public function loadData():void {
var req:URLRequest = new URLRequest(url);
trace(req);
xmlLoader.load(req);
}
protected function onResult(e:Event):void
{
var xmlData:XML = e.target.data as XML;
parseData(xmlData);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
protected function onOpen(e:Event):void
{
trace(e);
}
protected function onActivate(e:Event):void
{
trace(e);
}
protected function onIOError(e:IOErrorEvent):void
{
trace(e);
}