使用HTTP请求进行URL导航
flash中最普通的http请求是使用URLRequest类和navigateToURL()方法进行URL导航。
创建HTTP请求
在创建HTTP请求时,需要URLRequest类参与处理所有的通信。
在创建HTTP请求之前,必须新建一个URLRequest对象:
var urlRequest:URLRequest = new URLRequest();
另外,URLRequest类在构造方法中有一个可选的参数用于指定HTTP请求的URL:
var urlRequest:URLRequest = new URLRequest("http://www.websote.com");
新建一个URLRequest对象之后,就乐意将其传递至任何需要HTTP请求对象的方法。
导航至URL
navigateToURL(urlRequest);
调用navigateToURL()后将会在同一个浏览器窗口中打开一个新的网页,若要在新的标签页或者窗口中浏览,需要指定方法的第二个参数。以下的代码通过指定第二个参数为_blank在新的窗口中打开网址:
navigateToURL(urlRequest,"_blank");
外部加载文本内容
创建一个URLLoader对象
var ulLoader:URLLoader = new URLLoader();
将外部文件加载进URLLoader对象之前,需要创建一个URLRequest对象处理HTTP请求,并且使用该类的load方法加载文件:
var urRequest:URLRequest = new URLRequest('http://www.website.com/');
var ulLoader:URLLoader = new URLLoader();
urLoader.load(urRequest);
监听URLLoader对象的COMPLETE事件
var urRequest:URLRequest = new URLRequest('http://www.focusonmedia.com/vps/as3/externaltext.txt');
var ulLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE,loaderComleteHandler);
function loaderComleteHandler(evt:Event):void{
trace(evt.target.data);
}
ulLoader.load(urRequest);
使用urlloader对象加载内容并跟踪其载入进度
var urRequest:URLRequest = new URLRequest('http://www.focusonmedia.com/vps/as3/externaltext.txt');
var ulLoader:URLLoader = new URLLoader();
ulLoader.addEventListener(IOErrorEvent.IO_ERROR,loaderErrorHandler);
ulLoader.addEventListener(ProgressEvent.PROGRESS,loaderProgressHandler);
ulLoader.addEventListener(Event.COMPLETE,loaderCompleteHandler);
ulLoader.load(urRequest);
function loaderErrorHandler(evt:IOErrorEvent):void
{
trace(evt.text);
}
function loaderProgressHandler(evt:Pro