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是值对,注意区别。