flash與asp/php/asp.net通信的方法第2/3頁(yè)
更新時(shí)間:2008年03月30日 13:13:02 作者:
flash與后臺(tái)程序通信
二、使用LoadVars
loadVariables提供了一種簡(jiǎn)單的方法讓我們可以從服務(wù)器端的ASP或者PHP頁(yè)面載入變量,除了使用GET方法,它還可以使用POST方法將客戶端提交的數(shù)據(jù)傳遞給服務(wù)器。然而在處理大量客戶端與服務(wù)器端交互的信息時(shí),使用過(guò)多的loadVariables語(yǔ)句會(huì)讓整個(gè)程序的維護(hù)性和可讀性變得復(fù)雜。在Flash MX的Action中,新增加了一個(gè)LoadVars的對(duì)象,并將它和XML,XMLSocket對(duì)象一起歸納于Client/Server對(duì)象之下。LoadVars 對(duì)象是 loadVariables 動(dòng)作的替代方法,它能夠提供一種更好的結(jié)構(gòu)向服務(wù)器發(fā)送和返回信息。一個(gè)典型的LoadVars對(duì)象使用的例子如下:
CODE:
//構(gòu)造一個(gè)新的LoadVars對(duì)象
myload = new LoadVars();
//設(shè)定myload的動(dòng)作,以便服務(wù)器驗(yàn)證
myload.action = "post";
//驗(yàn)證和服務(wù)器連接的函數(shù)
myload.onLoad = function(success) {
//如果和服務(wù)器成功連接則…
if (success) {
//如果驗(yàn)證動(dòng)作成功則…
if (this.conn == "1") {
//將返回對(duì)象中的output變量賦值給場(chǎng)景中var為output的Dynamic Text框
_root.output = this.output;
}
} else {
//如果和服務(wù)器連接不成功則返回失敗消息,需要檢查路徑是否正確
_root.output = "Can't connect to Server";
}
};
//Dynamic Text的初始值為一個(gè)等待消息
_root.output = "Waiting for response...";
//將myload下的變量發(fā)送到服務(wù)器端,并將服務(wù)器返回的數(shù)據(jù)結(jié)果放在myload對(duì)象中
myload.sendAndLoad("http://localhost/test/return.asp", myload, "post");
//myload.sendAndLoad("http://localhost:8001/test/return.php",myload, "post");
myload = new LoadVars();
//設(shè)定myload的動(dòng)作,以便服務(wù)器驗(yàn)證
myload.action = "post";
//驗(yàn)證和服務(wù)器連接的函數(shù)
myload.onLoad = function(success) {
//如果和服務(wù)器成功連接則…
if (success) {
//如果驗(yàn)證動(dòng)作成功則…
if (this.conn == "1") {
//將返回對(duì)象中的output變量賦值給場(chǎng)景中var為output的Dynamic Text框
_root.output = this.output;
}
} else {
//如果和服務(wù)器連接不成功則返回失敗消息,需要檢查路徑是否正確
_root.output = "Can't connect to Server";
}
};
//Dynamic Text的初始值為一個(gè)等待消息
_root.output = "Waiting for response...";
//將myload下的變量發(fā)送到服務(wù)器端,并將服務(wù)器返回的數(shù)據(jù)結(jié)果放在myload對(duì)象中
myload.sendAndLoad("http://localhost/test/return.asp", myload, "post");
//myload.sendAndLoad("http://localhost:8001/test/return.php",myload, "post");
在場(chǎng)景中以一個(gè)var名為output的Dynamic Text框來(lái)接受來(lái)自服務(wù)器的消息。使用LoadVars,我們可以利用sendAndLoad方法將一個(gè)LoadVars的實(shí)體下的所有變量發(fā)送出去,并將服務(wù)器返回的數(shù)據(jù)結(jié)果存儲(chǔ)到一個(gè)目標(biāo)對(duì)象中,其中conn,output都是從服務(wù)器發(fā)送回來(lái)的,我們還利用了其onLoad事件函數(shù)來(lái)檢驗(yàn)其是否將信息發(fā)送到了服務(wù)器頁(yè)面,再利用從服務(wù)器傳回來(lái)的數(shù)據(jù)(this.conn)來(lái)驗(yàn)證信息是否正確。服務(wù)器頁(yè)面的代碼如下:
ASP return.asp:
復(fù)制代碼 代碼如下:
<%@ Language="JScript" %>
<%
var str_Msg;
var action;
var conn;
action = Request.Form("action");
if (action == "post"){
str_Msg = "OK! return a Msg to you!";
conn = 1;
}
Response.write("conn=" + conn + "&output=" + str_Msg);
%>
PHP return.php:
復(fù)制代碼 代碼如下:
<?php
$action = $HTTP_POST_VARS["action"];
if ($action == "post") {
$str_Msg = "OK! return a Msg to you!";
$conn = 1;
}
echo "conn=" . $conn . "&output=" . $str_Msg;
?>
如果本例執(zhí)行成功,則會(huì)在Flash Player中出現(xiàn)成功畫面,如圖所示。如果失敗,則返回失敗消息(一般都是路徑出錯(cuò))

您可能感興趣的文章:
- PHP+FLASH實(shí)現(xiàn)上傳文件進(jìn)度條相關(guān)文件 下載
- 使用PHP提取視頻網(wǎng)站頁(yè)面中的FLASH地址的代碼
- PHP生成Flash動(dòng)畫的實(shí)現(xiàn)代碼
- flash+php+mysql打造簡(jiǎn)單留言本教程
- flash用php連接數(shù)據(jù)庫(kù)的代碼
- 用PHP動(dòng)態(tài)創(chuàng)建Flash動(dòng)畫
- php讀取flash文件高寬幀數(shù)背景顏色的方法
- php中使用getimagesize獲取圖片、flash等文件的尺寸信息實(shí)例
- PHP實(shí)現(xiàn)仿百度文庫(kù),豆丁在線文檔效果(word,excel,ppt轉(zhuǎn)flash)
- php獲取flash尺寸詳細(xì)數(shù)據(jù)的方法
相關(guān)文章
項(xiàng)目需要,開(kāi)始學(xué)習(xí)flash
項(xiàng)目需要,開(kāi)始學(xué)習(xí)flash...2007-04-04FLASH自動(dòng)判斷域名然后轉(zhuǎn)向等操作
FLASH自動(dòng)判斷域名,如果不是你的域名,然后干什么你來(lái)定吧! 首先說(shuō)一下FLASH自已可以干什么!FLASH他可以判斷自已在哪個(gè)路徑下面,例如:2008-04-04Flash與后臺(tái)數(shù)據(jù)交換方法整理
Flash與后臺(tái)數(shù)據(jù)交換方法整理...2007-02-02使用 AllowNetworking Flash的世界安靜了
使用 AllowNetworking Flash的世界安靜了...2007-03-03