新人补钙系列教程之:AS3 与 PHP 简单通信基础

时间:2023-02-10 15:00:28
  1. package
  2. {
  3.         import flash.display.Loader;
  4.         import flash.events.Event;
  5.         import flash.net.URLLoader;
  6.         import flash.net.URLLoaderDataFormat;
  7.         import flash.net.URLRequest;
  8.         import flash.net.URLRequestMethod;
  9.         import flash.net.URLVariables;
  10.         
  11.         import flashx.textLayout.tlf_internal;
  12.         
  13.         import org.osmf.media.LoadableMediaElement;
  14.         public class FlashAndPhp
  15.         {        
  16.                 private var _loader:URLLoader;
  17.                 public function FlashAndPhp()
  18.                 {
  19.                         init();
  20.                 }
  21.                 
  22.                 private function init():void{
  23.                         /*
  24.                          * 
  25.                         AS3 中把向PHP 请求数据与 接受数据分开处理,所以为了方便理解,
  26.                         我“偷”了OO思想,把请求代码放在一块,把接受代码放一块
  27.                         */
  28.                         var phpUrl:String = "";        
  29.                         //声明一个URLRequest
  30.                         var _urlRequest:URLRequest = new URLRequest( phpUrl );
  31.                         
  32.                         //设置传输方式为POST,由于Flash 本身的安全问题,所以还是优选POST传输方式
  33.                         _urlRequest.method = URLRequestMethod.POST;
  34.                         
  35.                         //声明一个URLVariables ,用来向PHP发送数据 。 URLRequest在使用它
  36.                         var values:URLVariables = new URLVariables();
  37.                         
  38.                                                //URLRequest包含整个http请求的所有信息,
  39.                                //所以我们要发送的数据要放在这里,URLRequest有一个 data属性
  40.                                //他接受一个object类型的参数,这就是我们要发送的数据
  41.                         
  42.                         values.message="hello im flash!"; 
  43.                         _urlRequest.data = values
  44.                                 
  45.                         /*
  46.                          * 
  47.                         URLLoader的data只有在数据被下载完时才会被初始化,
  48.                         在数据没有加载完成时,它是等于null的,也就是说,
  49.                         它只包含接受到的数据,而不管要 发送的数据
  50.                                 */        
  51.                                 
  52.                         _loader = new URLLoader( );
  53.                         
  54.                         //URLLoader提供了多种数据解析方式供你选择。
  55.                         //这些数据解析方式都在URLLoaderDataFormat里,
  56.                         //他们是:BINARY-以2进制的 方式解析 TEXT-以文本的方式解析 VARIABLES-以变量-值配对的方式解析        
  57.                         
  58.                         _loader.dataFormat = URLLoaderDataFormat.VARIABLES;
  59.                         _loader.addEventListener(Event.COMPLETE,onComplete);
  60.                         _loader.load( _urlRequest );
  61.                 }
  62.                 
  63.                 private function onComplete ( event: Event ):void{
  64.                 
  65.                 trace( _loader.data);
  66.                 
  67.                 }
  68.         }
  69. }
  70. //test.php code// 
  71. $flashData = $_POST['message']; 
  72. $phpMessage = 'im php message!'; 
  73. echo "phpMessage=$phpMessage&flashMessage=$flashData"; 
  74. ?> 
  75. 转载:http://www.www.luoye.org/html/