我正在尝试让我的程序能够从.csv中读取数据并以特定方式显示内容。我正在尝试使用URLLoader类来执行此操作。以下是我在文件中读取的代码
//Instantiate the URLLoader and set up the exception handling associated with it
var loader:URLLoader = new URLLoader();
loader.addEventListener( IOErrorEvent.IO_ERROR, handleIOError );
loader.addEventListener( HTTPStatusEvent.HTTP_STATUS, handleHttpStatus );
loader.addEventListener( SecurityErrorEvent.SECURITY_ERROR, handleSecurityError );
loader.addEventListener( Event.COMPLETE, handleComplete );
//Next load the options file that will have location of .csv file
loader.dataFormat = URLLoaderDataFormat.TEXT
loader.load(new URLRequest("testData.csv"));
trace("data: " + loader.data);
运行此代码会导致跟踪打印“data:undefined”,在调试时我发现URLLoader.load实际上并没有更改loader中的任何字段。我的理解是这个方法应该将加载的数据放入data属性。如果有人对可能导致错误的原因有任何想法,我将非常感激。
答案 0 :(得分:5)
访问data
属性的代码应驻留在handleComplete
函数中,因为load()
函数是异步的;它立即返回,但它的实际执行是并行完成的。加载完成后,将调用相应的事件处理程序(在您的情况下为handleComplete
)。
答案 1 :(得分:0)
这是你应该以编程方式进行的,它基本上是Torious上面提到的单词的代码格式。祝你好运!
var myTextLoader:URLLoader = new URLLoader();
myTextLoader.addEventListener(Event.COMPLETE, onLoaded);
myTextLoader.load(new URLRequest("myText.txt"));
function onLoaded(e:Event):void {
trace(e.target.data);
}