as3深入了解URLLoader加载php和xml

URLLoader把以前XML,LoadVars与服务器交互的功能都接管过来了,尽管如此,我们要实现不同的功能,还得分头行动.同时,需要一些相关类的辅助 - URLLoaderDataFormat,URLRequest,URLVariables,
加载字符串文本, 需要注意的是,如果没有定义请求方式,则默认为HTTP GET 方法加载,而且,URLLoader.dataFormat 的默认值为 URLLoaderDataFormat.TEXT。

var urlRequest:URLRequest = new URLRequest(); 
urlRequest.url = “TEXT”; //CuPlayer.com文本 地址 
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); 
} 

通常,我们需要先给服务器一些信息,然后才能得到服务器返回的文本信息.要使用 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 ; 
// CuPlayer.com

加载XML格式文档,和加载文本类型数据基本一样,只是在加载成功后,URLLoader.data属性为XML类实例..

var urlRequest:URLRequest = new URLRequest(); 
urlRequest.url = “XML”; //CuPlayer.com文本 地址 
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()); 
} 

转自:http://www.cuplayer.com/player/PlayerCodeAs/2013/0319763.html


posted @ 2015-08-30 19:03  stma  阅读(246)  评论(0)    收藏  举报