package
{
import fl.controls.Button;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
/**
* 测试as3与php之间的交互方法1
* 本方法通过加载远程php来读取其中输出的变量值
* @author Administrator
*/
public class Test1 extends Sprite
{
/**
* 定义点击按钮
*/
private var _btn:Button;
/**
* 文本框
*/
private var _showTf:TextField;
/**
* 测试as3与php之间的交互
*/
public function Test1() {
_btn = new Button();
_btn.label = "请点击";
_btn.move(0, 0);
addChild(_btn);
_showTf = new TextField();
_showTf.autoSize = TextFieldAutoSize.LEFT;
_showTf.defaultTextFormat = new TextFormat(null, 12, 0xff0000);
_showTf.wordWrap = true;
_showTf.border = true;
_showTf.text = "内容文本框1";
_showTf.width = 660;
_showTf.x = 110;
_showTf.y = 0;
addChild(_showTf);
_btn.addEventListener(MouseEvent.CLICK, loadPhp);
}
/**
* 开始加载php
* @param event
*/
private function loadPhp(event:MouseEvent):void {
_showTf.text = "";
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
//注意此处是使用http请求的方式作为加载地址,而不能直接写成相对位置或绝对位置,例如“/test1.php”
urlLoader.load(new URLRequest("http://localhost:8081/as3php/test1.php"));
urlLoader.addEventListener(Event.COMPLETE, onCompletedHandle);
}
/**
* 加载php完成
* @param event
*/
private function onCompletedHandle(event:Event):void {
var mydata:URLVariables = URLVariables((event.currentTarget as URLLoader).data);
_showTf.text = "国家是:" + mydata.coun + " 省份是:" + mydata.pro;
}
}
}