as3與php後台互動教程

2021-06-02 00:04:03 字數 4687 閱讀 2228

目前flash在各方個面的應用越來越廣,而flash也不單只是注重自身絢麗的效果,也需要和外界程式交換資料,以實現更強大的功能,隨著as3的到 來,flash和外部互動的方式也越來越簡便和合理化。今天就在這裡談談as3和後台資料的互動(這裡選擇as3+php

架構,其他配置同理)。

在as3裡,原來的loadvars方法已經被廢棄,而改用一系列的類來實現與後台資料的互動,這些類是:urlloader,urlloaderdataformat,urlstream,urlvariables。

urlloader 類和原來的loadvars類似,是載入文字,2進製資料,xml,url資料等資訊的有力工具。urlloader接受乙個urlrequest 作為構造的引數,使用load方法來載入資料。urlloder也可以進行監聽,這點也loadvars不同,乙個簡單的示例如下:

//actionscript code//

//宣告乙個urlloader

varloader

:urlloader

= new

urlloader();

//監聽數載載入完成事件

loader

.addeventlistener

(event

.complete

,loaded);

//事件相應函式

function

loaded(e

:event

)//載入test.php

loader

.load

(new

urlrequest("

test.php"))

; // test.php code/

//宣告乙個變數並賦給乙個字串

$data='

this data is form php!';

//輸出這個變數給flash

echo

$data;?&

gt;從上面的示例可以看出,as3和後台互動是多麼簡單,但這只是單項的互動,如果要flash向後台傳送資料並傳回資料該如何去做呢?這個時候你可能會把**該成這樣:

//actionscript code

varloader

:urlloader

= new

urlloader();

loader

.data=;

loader

.addeventlistener

(event

.complete

,loaded);

function

loaded(e

:event

)loader

.load

(new

urlrequest("

test.php"))

; code//

$flashdata

= $_post['

message']

;echo

"this is flash say:

$flashdata";

?>

那樣,乙個類通吃所有了,那麼這個urlvariables如何送要傳送的資料呢?

你可能找遍了urlloader的文件也沒有發現與它相關的東西,是的urlloader並不和urlvariables有關聯,而是 urlrequest在使用它,urlrequest包含整個http請求的所有資訊,所以我們要傳送的資料要放在這裡,urlrequest有乙個 data屬性他接受乙個object型別的引數,這就是我們要傳送的資料。同時你可能還注意到了,urlrequest也管理用什麼樣的方式來傳送 http請求,它的method屬性接受乙個字元引數,post或者是get。好了,現在我們來看看它們是怎麼工作的:

//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);

function

loaded(e

:event

)loader

.load

(url);

code//

$flashdata

= $_post['

message']

;echo

"this is flash say:

$flashdata";

?>

//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);

function

loaded(e

:event

)loader

.load

(url);

code//

$flashdata

= $_post['

message']

;$phpmessage= '

im php message!';

echo

"phpmessage=

$phpmessage

&flashmessage=

$flashdata";

?>

裡,他們是: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);

function

loaded(e

:event

)loader

.load

(url);

code//

$flashdata

= $_post['

message']

;$phpmessage= '

im php message!';

echo

"phpmessage=

$phpmessage

&flashmessage=

$flashdata";

?>

as3與php互動實現總結

目前flash在各方個面的應用越來越廣,而flash也不單只是注重自身絢麗的效果,也需要和外界程式交換資料,以實現更強大的功能,隨著as3的到 來,flash和外部互動的方式也越來越簡便和合理化。今天就在這裡談談as3和後台資料的互動 這裡選擇as3 php架構,其他配置同理 在as3裡,原來的lo...

Ionic前台與PHP後台間資料互動

ionic 目錄 我們在開發ionic程式中,必不可少的要與後台進行資料互動,有將資料提交伺服器和從伺服器獲取資料的操作。如果我們伺服器使用php語言進行開發,可能會遇到以下問題 1 無法訪問伺服器。2 伺服器端使用 post 命令無法獲取前台提交的資料。下面我們就一一說明這些問題如何解決。1 無法...

AS3教程 for each in解析效率

新的 for each in 除了遍歷xml,同樣可以用來遍歷陣列和物件。建立 百萬雄兵 var testarr array new array for var i number 0 i 1000000 i 以前的 for 和 for in 以及新的 for each in 迴圈 for 260毫秒...