URLLoader甚至没有尝试加载。错误#2032:流错误

时间:2010-09-20 16:18:00

标签: actionscript-3 urlloader

我正在尝试使用URLLoader从服务器加载XML文件(与swf相同的域)。这应该太简单但我得到错误#2032:流错误

如果我跟踪HTTP状态事件,它只显示 status = 0 ,但我已经读过Mozilla没有向Flash Player提供状态代码,所以可能没有提供信息。

我用Charles嗅到了HTTP流量,Flash甚至没有尝试加载url - 没有请求,所以它甚至都没有失败。

我可以浏览到内部网址上的网址:http://media.project:8080/audio/playlist.xml

我已尝试在其中放置一个crossdomain.xml(有和没有 to-ports =“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);
    }

2 个答案:

答案 0 :(得分:3)

url = url;
构造函数中的

local url设置为 local url。如果要将该值保存在对象内,则需要明确引用对象成员url(或使用其他名称):

this.url = url;

答案 1 :(得分:0)

似乎url字符串仍为空

public var url:String = '';

不是吗?

public var url:String = 'http://media.project:8080/audio/playlist.xml';