- package
- {
- import flash.display.Loader;
- import flash.events.Event;
- import flash.net.URLLoader;
- import flash.net.URLLoaderDataFormat;
- import flash.net.URLRequest;
- import flash.net.URLRequestMethod;
- import flash.net.URLVariables;
-
- import flashx.textLayout.tlf_internal;
-
- import org.osmf.media.LoadableMediaElement;
-
- public class FlashAndPhp
- {
- private var _loader:URLLoader;
- public function FlashAndPhp()
- {
- init();
- }
-
- private function init():void{
- /*
- *
- AS3 中把向PHP 请求数据与 接受数据分开处理,所以为了方便理解,
- 我“偷”了OO思想,把请求代码放在一块,把接受代码放一块
- */
- var phpUrl:String = "";
- //声明一个URLRequest
- var _urlRequest:URLRequest = new URLRequest( phpUrl );
-
- //设置传输方式为POST,由于Flash 本身的安全问题,所以还是优选POST传输方式
- _urlRequest.method = URLRequestMethod.POST;
-
- //声明一个URLVariables ,用来向PHP发送数据 。 URLRequest在使用它
- var values:URLVariables = new URLVariables();
-
- //URLRequest包含整个http请求的所有信息,
- //所以我们要发送的数据要放在这里,URLRequest有一个 data属性
- //他接受一个object类型的参数,这就是我们要发送的数据
-
- values.message="hello im flash!";
- _urlRequest.data = values
-
- /*
- *
- URLLoader的data只有在数据被下载完时才会被初始化,
- 在数据没有加载完成时,它是等于null的,也就是说,
- 它只包含接受到的数据,而不管要 发送的数据
- */
-
- _loader = new URLLoader( );
-
- //URLLoader提供了多种数据解析方式供你选择。
- //这些数据解析方式都在URLLoaderDataFormat里,
- //他们是:BINARY-以2进制的 方式解析 TEXT-以文本的方式解析 VARIABLES-以变量-值配对的方式解析
-
- _loader.dataFormat = URLLoaderDataFormat.VARIABLES;
- _loader.addEventListener(Event.COMPLETE,onComplete);
- _loader.load( _urlRequest );
- }
-
- private function onComplete ( event: Event ):void{
-
- trace( _loader.data);
-
- }
- }
- }
-
- //test.php code//
- $flashData = $_POST['message'];
- $phpMessage = 'im php message!';
- echo "phpMessage=$phpMessage&flashMessage=$flashData";
- ?>
-
- 转载:http://www.www.luoye.org/html/