转自:http://bb-bing.blog.sohu.com/94894920.html
URLLoader把以前XML,LoadVars与服务器交互的功能都接管过来了,尽管如此,我们要实现不同的功能,还得分头行动.同时,需要一些相关类的辅助 - URLLoaderDataFormat,URLRequest,URLVariables,
加载字符串文本, 需要注意的是,如果没有定义请求方式,则默认为HTTP GET 方法加载,而且,URLLoader.dataFormat 的默认值为 URLLoaderDataFormat.TEXT。
var
urlRequest
:
URLRequest
=
new
URLRequest
()
;
urlRequest . url = " TEXT " ; //文本 地址
var ul : URLLoader = new URLLoader () ;
//ul.data = URLLoaderDataFormat.TEXT ;
ul . load ( urlRequest ) ;
ul . addEventListener ( Event . COMPLETE , onComplete ) ;
function onComplete ( evt : Event ) : void
{
trace ( evt . target . data ) ;
}
urlRequest . url = " TEXT " ; //文本 地址
var ul : URLLoader = new URLLoader () ;
//ul.data = URLLoaderDataFormat.TEXT ;
ul . load ( urlRequest ) ;
ul . addEventListener ( Event . COMPLETE , onComplete ) ;
function onComplete ( evt : Event ) : void
{
trace ( evt . target . data ) ;
}
如果加载的文本内容为key-value对,需要设置dataFormat属性为URLLoaderDataFormat.VARIABLES,在加载成功后,可以通过传入加载文件的内容,使用 URLVariables 类来分析数据.如上面的onComplete方法可以..
ul
.
dataFormat
=
URLLoaderDataFormat
.
VARIABLES
;
function onComplete ( evt : Event ) : void
{
var params : URLVariables = URLVariables ( evt . target . data ) ;
trace ( params . name ) ;
}
function onComplete ( evt : Event ) : void
{
var params : URLVariables = URLVariables ( evt . target . data ) ;
trace ( params . name ) ;
}
通常,我们需要先给服务器一些信息,然后才能得到服务器返回的文本信息.要使用 POST 方法发送数据,则需要设置
request
.
method
=
URLRequestMethod
.
POST
.
urlRequest . method = URLRequestMethod . GET ; //可以不必声明,默认
urlRequest . url = " text.php?username=sam " ;
//or
urlRequest . method = URLRequestMethod . POST ; //
var param : URLVariables = new URLVariables () ;
param . username = " sam " ;
urlRequest . data = param ;
//
urlRequest . method = URLRequestMethod . GET ; //可以不必声明,默认
urlRequest . url = " text.php?username=sam " ;
//or
urlRequest . method = URLRequestMethod . POST ; //
var param : URLVariables = new URLVariables () ;
param . username = " sam " ;
urlRequest . data = param ;
//
加载XML格式文档,和加载文本类型数据基本一样,只是在加载成功后,URLLoader.data属性为XML类实例..
var
urlRequest
:
URLRequest
=
new
URLRequest
()
;
urlRequest . url = " XML " ; //文本 地址
var ul : URLLoader = new URLLoader () ;
ul . load ( urlRequest ) ;
ul . addEventListener ( Event . COMPLETE , onComplete ) ;
function onComplete ( evt : Event ) : void
{
trace ( XML ( evt . target . data ) . toXMLString ()) ;
}
urlRequest . url = " XML " ; //文本 地址
var ul : URLLoader = new URLLoader () ;
ul . load ( urlRequest ) ;
ul . addEventListener ( Event . COMPLETE , onComplete ) ;
function onComplete ( evt : Event ) : void
{
trace ( XML ( evt . target . data ) . toXMLString ()) ;
}
向服务器POST发送XML并接收(sendAndLoad)
var
dataXML
:
XML
= ;
//xml
var request : URLRequest = new URLRequest ( " getInfo.php " ) ;
request . contentType = " text/xml " ;
request . data = dataXML . toXMLString () ;
request . method = URLRequestMethod . POST ;
var loader : URLLoader = new URLLoader () ;
loader . load ( request ) ;
loader . addEventListener ( Event . COMPLETE , onComplete ) ;
function onComplete ( evt : Event ) : void
{
var l : URLLoader = evt . target as URLLoader ;
var returnXML : XML = l . data as XML ;
//得到返回的xml数据
trace ( returnXML . toXMLString ()) ;
}
var request : URLRequest = new URLRequest ( " getInfo.php " ) ;
request . contentType = " text/xml " ;
request . data = dataXML . toXMLString () ;
request . method = URLRequestMethod . POST ;
var loader : URLLoader = new URLLoader () ;
loader . load ( request ) ;
loader . addEventListener ( Event . COMPLETE , onComplete ) ;
function onComplete ( evt : Event ) : void
{
var l : URLLoader = evt . target as URLLoader ;
var returnXML : XML = l . data as XML ;
//得到返回的xml数据
trace ( returnXML . toXMLString ()) ;
}