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.pswp.cn/news/529830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529830.shtml
英文地址,請注明出處:http://en.pswp.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…