分类: 系统运维
2010-01-22 10:51:32
来代替
urlLoaderInstance.addEventListener("complete", completeHandler);下面是 URLLoader 支持的事件所对应类的清单, 他们可以在 Flex Builder 2 的文档中找到:
complete : Event.COMPLETE
httpStatus : HTTPStatusEvent.HTTP_STATUS
ioError : IOErrorEvent.IO_ERROR
open : Event.OPEN
progress : ProgressEvent.PROGRESS
securityError : SecurityErrorEvent.SECURITY_ERROR
然后下面是使用 URLLoader 的一些简单的例子
1. 单纯的读取服务器或者硬盘上同目录下叫 Variables.txt 文本文件, 文本的内容是:
user1=Kakera&user2=Eigo&user3=KeiragoLoadVariablesOnly.fla import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.net.URLVariables;
import flash.events.Event;
import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
//
// 配置 URLRequest, 设置目标路径等
//
var request:URLRequest = new URLRequest("Variables.txt");
/
// 配置 URLLoader, 注册侦听器等
//
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, loader_complete);
loader.addEventListener(Event.OPEN, loader_open);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, loader_httpStatus);
loader.addEventListener(ProgressEvent.PROGRESS, loader_progress);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_security);
loader.addEventListener(IOErrorEvent.IO_ERROR, loader_ioError);
loader.load(request);
function loader_complete (e:Event):void {
trace("Event.COMPLETE");
trace("目标文件的原始数据 (纯文本) : " + loader.data);
//
// 使用 URLVariables 处理原始数据并进行遍历同时输出数据
//
var variables:URLVariables = new URLVariables(loader.data);
for (var i in variables) {
trace(i + " : " + variables[i]);
}
}
function loader_open (e:Event):void {
trace("Event.OPEN");
trace("读取了的字节 : " + loader.bytesLoaded);
}
function loader_httpStatus (e:HTTPStatusEvent):void {
trace("HTTPStatusEvent.HTTP_STATUS");
trace("HTTP 状态代码 : " + e.state);
}
function loader_progress (e:ProgressEvent):void {
trace("ProgressEvent.PROGRESS");
trace("读取了的字节 : " + loader.bytesLoaded);
trace("文件总字节 : " + loader.bytesTotal);
}
function loader_security (e:SecurityErrorEvent):void {
trace("SecurityErrorEvent.SECURITY_ERROR");
}
function loader_ioError (e:IOErrorEvent):void {
trace("IOErrorEvent.IO_ERROR");
}
2. 提交数据到 ServerSide.asp, 并输出服务器的返回值
ServerSide.asp <%@LANGUAGE="Jscrīpt" CODEPAGE="65001"%>
<%
//
// 全局 Header, 设置编码, 以及缓存
//
with (Response) {
Charset = "utf-8";
Buffer = true;
Expires = -10;
ContentType = "text/plain";
}
var buffer = "列出所有服务端接收到的变量 : \n";
var i;
var e = new Enumerator(Request.Form);
//
// 遍历集合
//
for (; !e.atEnd(); e.moveNext()) {
i = e.item();
buffer += String(i) + " : " + String(Request.Form(i)) + "\n";
}
Response.Write(buffer);
%>
SendAndLoadVariables.fla
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.net.URLVariables;
import flash.events.Event;
import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
//
// 配置 URLVariables, 设置传递到服务器的数据
//
var variables:URLVariables = new URLVariables();
variables.userName = "Kakera";
variables.password = "********";
//
// 配置 URLRequest, 设置目标路径, 设置提交的数据, 方法 (POST / GET)
//
var request:URLRequest = new URLRequest("");
request.data = variables;
request.method = URLRequestMethod.POST;
//
// 配置 URLLoader, 注册侦听器等
//
var loader:URLLoader = new URLLoader();
//
// 服务端将要返回的是纯文本数据
//
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, loader_complete);
loader.addEventListener(Event.OPEN, loader_open);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, loader_httpStatus);
loader.addEventListener(ProgressEvent.PROGRESS, loader_progress);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_security);
loader.addEventListener(IOErrorEvent.IO_ERROR, loader_ioError);
loader.load(request);
function loader_complete (e:Event):void {
trace("Event.COMPLETE");
trace("目标文件的原始数据 (纯文本) : \n" + loader.data);
}
function loader_open (e:Event):void {
trace("Event.OPEN");
trace("读取了的字节 : " + loader.bytesLoaded);
}
function loader_httpStatus (e:HTTPStatusEvent):void {
trace("HTTPStatusEvent.HTTP_STATUS");
trace("HTTP 状态代码 : " + e.status);
}
function loader_progress (e:ProgressEvent):void {
trace("ProgressEvent.PROGRESS");
trace("读取了的字节 : " + loader.bytesLoaded);
trace("文件总字节 : " + loader.bytesTotal);
}
function loader_security (e:SecurityErrorEvent):void {
trace("SecurityErrorEvent.SECURITY_ERROR");
}
function loader_ioError (e:IOErrorEvent):void {
trace("IOErrorEvent.IO_ERROR");
}