flash as3与后台php交互用户注册例子,as3与PHP后台交互2

怎么样,是不是也很方便的实现了as3和后台的数据传输?恩,现在我们的程序可以双向交互数据了,但这只是一些简单的数据,如果你要传输带有结构的数据,(熟悉as2的人都知道loadVars可以自动解析下载数据的结构),让我们先按loadVars的方式来尝试下,看看URLLoader是不是能自动的解析下载的数据。

//actionscript

code

varloader:URLLoader

= new URLLoader();

//声明一个URLRequest

varurl:URLRequest

= new URLRequest("test.php");

//设置传输方式为POST

url.method

= URLRequestMethod.POST;

//声明一个URLVariables

varvalues:URLVariables

= new URLVariables();

//设置要传输的信息

values.message="hello im

flash!";

url.data

= values;

loader.addEventListener(Event.COMPLETE,loaded);

functionloaded(e:Event){

trace(loader.data);

//outPut: phpMessage=im php

message!&flashMessage=hello im

flash!

trace(loader.data.phpMessage);

// thorw Error;

trace(loader.data.flashMessage);

// thorw Error;

}

loader.load(url);

//test.php

code//

$flashData

= $_POST['message'];

$phpMessage

= 'im php

message!';

echo"phpMessage=$phpMessage&flashMessage=$flashData";

?>

可以看到,数据被完全下载下来了,但是却没有被解析,还抛出了异常,那么是不是URLLoader就不能自动解析数据了呢?不是,相反

URLLoader提供了多种数据解析方式供你选择。这些数据解析方式都在URLLoaderDataFormat里,他们是:BINARY-以2进制的方式解析

TEXT-以文本的方式解析

VARIABLES-以变量-值配对的方式解析。URLLoader的dataFormat属性提供了对解析方式的选择,好,我们再来修改下程序使它变的更完美些:

//actionscript

code

varloader:URLLoader

= new URLLoader();

//声明一个URLRequest

varurl:URLRequest

= new URLRequest("test.php");

//设置传输方式为POST

url.method

= URLRequestMethod.POST;

//声明一个URLVariables

varvalues:URLVariables

= new URLVariables();

//设置要传输的信息

values.message="hello im

flash!";

url.data

= values;

//设置以变量-值配对的方式解析数据

loader.dataFormat

= URLLoaderDataFormat.VARIABLES;

loader.addEventListener(Event.COMPLETE,loaded);

functionloaded(e:Event){

trace(loader.data);

//outPut: phpMessage=im php

message!&flashMessage=hello im

flash!

trace(loader.data.phpMessage);

// im php

message!

trace(loader.data.flashMessage);

// hello im

flash!

}

loader.load(url);

//test.php

code//

$flashData

= $_POST['message'];

$phpMessage

= 'im php

message!';

echo"phpMessage=$phpMessage&flashMessage=$flashData";

?>

以上这些就是as3里和后台交互的基础内容,现在你可以在as3里创建这样的交互,获取动态数据来丰富你的程序,在你开始自己动手实验之前,还有一些东西值得注意:

1,记得捕获和处理异常(上述的例子里都是假定在完美的测试环境下运行,所以没有加上异常捕获和处理的代码,但现实中你可能会遇到各种各样的情况)URLLoader可能引发好几种异常情况(详细请参见说明文档)

你应该通过监听ioError和securityError事件,或者通过try-catch来处理他们,即使你确信不会发生这样的问题。

2,文件的编码,这是个常见的问题,经常很多数据变成了乱码,或者解析出错,都是因为编码的问题,我的做法是确保发送的数据和后台传回的数据都是UTF-8格式(因为flash默认编码为utf-8)

最后希望这篇文章能对你有所帮助,也欢迎你留言讨论相关的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 去除 quot,JAVA去除web页面传入后台的特殊字符工具类 | 学步园

package www.tmzskj.com.utils;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.junit.Test;/*** 功能 过滤特殊字符,清除掉所有特殊字符* regEx 为要清除的字符* author admin**/public class StringFilterTest {public static String …

matlab傅里叶工具箱,matlab通信工具箱.pdf

matlab通信工具箱randerr 产生随机误码图样randint 产生均匀分布的随机整数信号源 randsrc 用预定义的字母表产生随机矩阵wgn 产生高斯噪声commsrc.pattern 结构模式生成句柄berawgn 非编码的AWGN 信道的误比特率bercoding 编码的AWGN 信道的误比特率berconfint 蒙特卡罗仿真下…

java迭代器cas,java提高篇(三十)-Iterator - Java 技术驿站-Java 技术驿站

迭代对于我们搞Java的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行Java集合的迭代。Iterator iterator list.iterator();while(iterator.hasNext()){String string iterator.next();//do something}迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类…

mysqldb mysql config,安装mysqldb python界面时找不到mysql_config

mySQLdb是一个用于mysql的python界面,但它不是mysql本身。 显然mySQLdb需要命令“mysql_config”,所以你需要先安装。你能否确认你是否通过从shell运行“mysql”来安装mysql本身? 这应该给你一个“mysql:command not found”以外的…

kfcm算法matlab实现,KFCM算法分析

function [center, U, obj_fcn] KFCMClust(data, cluster_n, kernel_b,options)% FCMClust.m 采用模糊C均值对数据集data聚为cluster_n类%% 用法:% 1. [center,U,obj_fcn] KFCMClust(Data,N_cluster,kernel_b,options);% 2. [center,U,obj_fcn] KFCMClus…

matlab中的terminator模块,2.2 Ground 及 Terminator模块

课时:117节课时长:20.1小时课级:中级提高simulink是matlab中的一种可视化仿真工具, 是一种基于matlab的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字…

matlab 柯西黎曼方程,【判断题】柯西-黎曼方程成立是函数解析的必要条件.

参考答案如下判断【判断题】核糖体的沉降系数等于大小亚基沉降系数的总和。题柯【其它】We ______________________________________ (投入到各项校园课外活动中) on campus.西黎【单选题】起动机与蓄电池的连接线蓄电池与车架的搭铁线则采用( )。 (2.0分)曼方【简答题】作业选…

取整函数php,php取整函数三个例子

本节内容:php取整函数用法1,php取整函数 ceil -- 取最大整数float ceil ( float value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。…

python执行过程打印,如何在pytest运行过程中看到正常的打印输出?

乔在接受的答案中提出了一个评论 ,他问道:有没有办法打印到控制台并捕获输出,以便它显示在junit报告中?在UNIX中,这通常被称为开球 。 理想情况下,开球而不是捕捉将是py.test默认。 非理想情况下&#xff0…

cfar恒虚警matlab实现,一种用于距离副瓣抑制的自适应恒虚警方法与流程

本发明涉及脉冲压缩雷达数字信号处理技术领域。背景技术:在传统的真空管体制雷达中,由于发射占空比受限,通过设计较低的雷达重复发射频率实现远距离的目标探测,但由于发射的是简单的脉冲调制波形,重复频率降低和脉宽加…

修改oracle数据连接数据库,如何修改oracle数据库的连接数

如何修改oracle数据库的连接数查询数据库当前进程的连接数:select count(*) from v$process;查看数据库当前会话的连接数:elect count(*) from v$session;查看数据库的并发连接数:select count(*) from v$session where statusACTIVE;查看当前…

oracle导出中文utf8乱码,ORACLE导入导出后发生中文乱码的原因及解决办法

从数据库服务器上使用exp导出时显示如下:[oraclekf15-1]:/users/oracle>$ exp username/passwdkf15-1/i1000 tablestable_name filetable_name_unix.dmp satisticsnone buffer1000000Export: Release 10.2.0.4.0 - Production on 星期四 8月 26 16:37:08 2010Cop…

基于matlab的图解粒度参数计算,基于MATLAB的图解粒度参数计算

摘要粒度特征是沉积物的基本特征之一。计算沉积物粒度参数的方法主要有矩法和图解法两种,其中图解法必须通过手工作图求累积曲线,是一项相当繁杂的劳动,不利于计算大量样品。文中提出的方法将图解求沉积物样品的累积曲线百分位数的过程转化为…

oracle判断数据出现交叉,Oracle!你必须要知道的Knowledge points(一)

一、入门oracle有四个用户,分别为sys、system、sysman和scott,其中sys是oracle权限最高的用户,类似于Linux系统的root,scott是示例用户,上课就以这个用户里的三张员工表empno、dept、salgrade作为示例来授课。启动服务1. 快捷键ct…

php上传中文图片,用PHP处理图片文件的上传

这篇文章主要介绍了关于用PHP处理图片文件的上传&#xff0c;有着一定的参考价值&#xff0c;现在分享给大家&#xff0c;有需要的朋友可以参考一下1.html文件form表单注意。enctype属性代码&#xff1a;<?php require(../../public/common/config.php);$sqlClass "s…

nodejs+php+aes加密解密,php,crypto_php与nodejs的加密数据互通,php,crypto,node.js - phpStudy...

php与nodejs的加密数据互通nodejs的加密解密代码示例如下&#xff1a;#!/usr/bin/env nodevar crypto require(crypto);//解密function decode(cryptkey, iv, secretdata) {vardecipher crypto.createDecipheriv(aes-256-cbc, cryptkey, iv),decoded decipher.update(secret…

360 php offer,审批终于通过了,从面试到拿到奇虎360的offer已经失…

审批终于通过了&#xff0c;从面试到拿到奇虎360的offer已经失业两周了( •͈ᴗ⁃͈)ᓂ- - -♡&#xfeff;小运营大太阳&#xff1a;沾沾喜气程序猿.南兰&#xff1a;沾沾喜气360员工&#xff1a;欢迎来到酒仙桥第一养老院美团点评员工&#xff1a;[害羞]沾沾喜气盗圣白展堂&a…

linux中的进程权限是,Linux中权限,进程,服务的简单操作

1.权限存在意义- rw-r-r-r-- 1 root root 216 May 12 2017 /mnt/rht[1] [2] [3] [4] [5] [6] [7] [8][1] 文件类型-普通文件d目录l软链接ssocketc文件权限[2] 文件权限rw-|r--|r--u g ouuserggroupoo…

linux 中断 进程,linux中断分上下部分原因

中断处理程序在处理中断时起到了关键作用&#xff0c;也是一个中断程序必不可少的部分。不过&#xff0c;现如今的中断处理流程都会分为两部分&#xff1a;上半部分(top half)和下半部分(bottom half)。为什么要将一个中断分为如此两部分&#xff1f;下面的几个经典原因可以很好…

linux 运行eclipse,解决Linux下Eclipse启动错误

下载Eclipse后一打开就报错&#xff1a;JVM terminated. Exit code-1-Xms40m-Xmx256m-XX:MaxPermSize256m-Djava.class.path/usr/local/eclipse/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar-os linux-ws gtk-arch x86-showsplash /usr/local/eclipse//pl…