AS3与后台语言通信在网络应用中已经是司空见惯了,很多网站都以FLASH作为前台,以PHP作为后台。当然,有一些网站是使用.net后台技术的。在这篇文章中,我们将要讨论如何使用FLASH的AS3语言与PHP后台语言通信。实际上,其他后台语言的通信方法大同小异。在FLASH这方面进行的操作是非常简单的。可以说我们仅仅用几行代码就可以达到我们想要的效果。同时,你可以使用相同的AS3代码去访问不同的后台语言。我将在另外一篇文章中讲解FLASH与.net后台交互的方法。

首先,想使用FLASH与后台交互,我们先要准备一个后台的支持,由于我们使用的是php语言,所以我选择wamp5。这个软件是一个集成的php虚拟后台,安装它之后,你的机器就会变成一台php服务器了。下面的工作就要进入到代码的编写阶段。先来看一个简单的实例。在这个实例中,我们将使用FLASH去访问一个设定好的php页面,这个页面会向FLASH返回一个结果,一般来说这个结果使用字符串类型。

下面是AS3的代码:

a_mc.addEventListener(MouseEvent.CLICK,an);

function an(evt:MouseEvent):void {

var_loader=newURLLoader();

var_url:URLRequest=newURLRequest("http://localhost/a.php");

_loader.addEventListener(Event.COMPLETE, loaded);

_loader.load(_url);

}

function loaded(evt:Event):void

{

trace(evt.target.data);

}

上面是FLASH中的代码,我只是截取了代码中的一个比较重要的片段,你可以自己将类文件填写完整。再来看看php文件的代码:

$abc="niahodfa";

echo "nei=$abc";

?>

学过php的朋友对这个代码应该是很熟悉的,这个代码属于小儿科水平。但是,作为通讯的演示文件最合适不过了。好了,将php文件保存,然后放到我们的网站根目录,测试FLASH影片。你就可以看到效果了。

通过上面的实例,我想大家应该对后台通讯有一点点了解,只要实际的去实验一下这段代码你就明白其中的道理。

这只是一个非常简单的通讯实例,与其说是实例,不如说是一个测试程序,如果你的FLASH却是能够输出内容,那么表明你的php服务器能够运行。在平常的应用中,我们大部分时间都要求FLASH能够给PHP传递一些参数,这些个参数可能是用户名,用户密码等等。那么我们如何把FLASH中的这些内容告诉php呢?

很简单,你需要把代码进行一点点修改!另外,你要考虑数据的传输方式,我个人比较推荐post。安全第一,本身FLASH的安全性就够差的了,如果你再使用get传值,那你的网站就完蛋了。

FLASH中的代码:

//System.useCodePage=true;

varxm:XML=afdeeeee;

a_mc.addEventListener(MouseEvent.CLICK,an);

function an(evt:MouseEvent):void {

var_loader=newURLLoader();

_loader.dataFormat=URLLoaderDataFormat.VARIABLES;

var_durl:URLRequest=newURLRequest("http://localhost/bc.php");

varval:URLVariables=newURLVariables();

val.dizhi=xm;

_durl.data=val;

_durl.method=URLRequestMethod.POST;

_loader.addEventListener(Event.COMPLETE, loaded);

_loader.load(_durl);

}

function loaded(evt:Event):void {

trace(evt.target.data);

}

php中的代码:

$abc="niahodfa";

$do= $_POST['dizhi'];

echo "nei=$do";

?>

这样就可以了,大家可以去试一试,很方便的。具体代码就不在解释了,帮助文档中都有。

as3 php,[AS3]as3.0与PHP程序通信源代码示例相关推荐

  1. AS3的一些压缩解压缩类库(AS3 ZIP、AS3 GZIP等等)

    原文链接:AS3的一些压缩解压缩类库(AS3 ZIP.AS3 GZIP等等) 在现在开发的游戏中,由于战斗数据比较大,所以尝试对战斗数据进行压缩,然后输出到客户端flash端再解压. Google到一 ...

  2. Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果

    *3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果 题目 题目描述 运行示例 破题 代码 题目 题目描述 ...

  3. 51单片机外部中断实验 设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管

    设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管加1显示程序). #inc ...

  4. VC6.0建立控制台程序实现PDA应用

    作者:iamlaosong 由于须要,又写起了文本界面的程序,以便PDA通过telnet连上运行. 假设是Linuxserver的话.这是非常easy的事,但是用户server是windows ser ...

  5. PrimoCache2.2.0汉化程序与2.0.0的交叉使用

    经过试验,PrimoCache2.2.0是有时间限制的,然后又经过无数次的1.0.1.0和2.0.0的安装卸载,以及一次蓝屏的痛苦经历(好在可以通过最后一次正常启动来恢复).蓝屏的原因是自己为方便,卸 ...

  6. 从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序

    /* 从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序 */ import java.util.Scanner; class BreakExer {public stati ...

  7. android锁屏快捷键设置,Android4.0+锁屏程序开发——设置锁屏页面篇

    [如何开发一个锁屏应用] 想要开发一个锁屏应用,似乎很难,其实并没有想象中那么难. 从本质上来说,锁屏界面也只是一个Activity而已,只是这个界面比较特殊,在我们点亮屏幕的时候,这个界面就会出现. ...

  8. 修正牛顿法编程python_GitHub - Maples7/newtonMethod: 牛顿法求解复数域上x^4-1=0收敛域的程序 using Python...

    newtonMethod 牛顿法求解复数域上x^4-1=0收敛域的程序 using Python [总体分析] 1.牛顿法本质上是关于迭代求解非线性方程解的方法,而迭代是为了不断逼近精确解.牛顿法迭代 ...

  9. 软件 2.0 时代的程序分析

    作者 | 张昕 整理 | 晴天 作者经历: 2020.9 – 现在,北京大学计算机系助理教授 2017.9 – 2020.8,美国麻省理工学院计算机与人工智能实验室博士后 2017,博士,美国佐治亚理 ...

最新文章

  1. linux 文本行倒叙,Linux基础(4)之文本处理
  2. 7-20上午上机题实现
  3. 世界杯直播“三分天下”,视频平台如何实现高清直播?
  4. defer与async的认识
  5. mathematica 基础及其在数学建模中的应用_Mathematica 在高考数学与高等数学等学习中的简单应用与思考...
  6. 线性表的链表存储实现
  7. Uiautomator之入门
  8. python+matlab2014b混合编程
  9. MySQL容器部署及数据持久化(主从复制)
  10. 在线制作html个人简历,HTML制作个人简历的简单实现
  11. docker容器获取宿主机IP
  12. 南邮 OJ 1160 繁杂的道路
  13. flutter仿ReadHub+
  14. wow7.1 xd 新手教程
  15. HTML5:最后的火种
  16. 深入探索 Android 网络优化(二、网络优化基础篇)上
  17. uniapp调用地图并导航
  18. EchartsBar 圆柱形渐变色柱状图
  19. win10多显示器设置只有主显示屏显示任务栏
  20. 分布式数据库发展历程SequoiaDB 简介

热门文章

  1. 计算机类和数学与应用数学哪个好,数学与应用数学专业怎么样 好不好找工作...
  2. Java开发找工作最懵圈的问题:到底啥是分布式系统开发经验?
  3. Linux truncate的使用方法介绍
  4. CentOS 6.8 安装JDK8
  5. Docker技术入门与实战
  6. 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】
  7. 关于Breeze's MapHack 2.0的一些重要说明
  8. 字节跳动暑期实习前端面试
  9. 软件测试工程师-数据库
  10. oracle dba角色_DBA在“即服务”世界中角色的不断变化