AS3与后台交互

第一种 不传参 直接读取PHP文件
btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
  var urlLoader:URLLoader=new URLLoader();
  urlLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
  urlLoader.load(new URLRequest("http://localhost/as3/url2.php"));
  urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
  var mydata:URLVariables=URLVariables((evt.currentTarget as URLLoader).data);
  mytxt.text="国家是:"+mydata.state+"\n";
  mytxt.text+="var1是:"+mydata.var1;
}
php端代码:
<?
$state="中华人民共和国";
$var1="我爱你";
echo "state=".$state."&var1=".$var1;
?>
 
第二种 无参数 读取XML文件
 
btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
  var urlLoader:URLLoader=new URLLoader();
  urlLoader.load(new URLRequest("data.xml"));
  urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
  var mydatas:XML=XML((evt.currentTarget as URLLoader).data);
  mytxt.text=mydatas.c1.toString()+","+mydatas.c2.toString();
}
xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
<cities>
<c1>北京</c1>
<c2>上海</c2>
</cities>
上述代码结果:
北京,上海
 
第三种 无参数 PHP生成XML文件
 
btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
  var urlLoader:URLLoader=new URLLoader();
  urlLoader.load(new URLRequest("http://localhost/as3/xml.php"));
  urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
  var mydatas:XML=XML((evt.currentTarget as URLLoader).data);
  mytxt.text=mydatas.c1.toString()+","+mydatas.c2.toString();
}
php端:
<?
//你可以使用php操作xml的函数
//这里为了简单起见只是echo出来
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo "<cities>";
echo "<c1>北京</c1>";
echo "<c2>上海</c2>";
echo "</cities>";
?>
 
第四种 GET 传参
System.useCodePage=true;
btn.addEventListener(MouseEvent.CLICK,loadTxt);
function loadTxt(evt:MouseEvent):void
{
  var urlLoader:URLLoader=new URLLoader();
  var request:URLRequest=new URLRequest();
  request.url="http://www.baidu.com/s";
  request.method=URLRequestMethod.GET;
  request.data="wd=flash";
  urlLoader.load(request);
  urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
  mytxt.text=(evt.currentTarget as URLLoader).data;
}
第五种 POST 传参
  System.useCodePage=true;
  btn.addEventListener(MouseEvent.CLICK,loadTxt);
  function loadTxt(evt:MouseEvent):void
{
var urlLoader:URLLoader=new URLLoader();
var request:URLRequest=new URLRequest();
var vars:URLVariables=new URLVariables();
vars.wd="flash";
request.url="http://www.baidu.com/s";
request.method=URLRequestMethod.GET;
request.data=vars;
urlLoader.load(request);
urlLoader.addEventListener(Event.COMPLETE,finish);
}
function finish(evt:Event):void
{
  mytxt.text=(evt.currentTarget as URLLoader).data;
}
这里data是URLVariables是值对,注意区别。

  

posted @ 2013-05-29 10:03  sinsoul  阅读(843)  评论(0编辑  收藏  举报