Flash與Asp的通訊是用Http協(xié)議,其請求格式為
http://ip地址?參數(shù)1=值1&參數(shù)2=值2
即是在目的地址后面加上問號,再跟上參數(shù)字符串,參數(shù)之間用“&”號格開。如:
http://www.pcedu.com.cn/test.asp?userid=guest&pwd=123 在上面的請求中,請求的目的文件為:
http://www.pcedu.com.cn/test.asp,第一個(gè)參數(shù)名為userid,值為guest,第二個(gè)參數(shù)名為pwd,值為123。
Flash與Asp之間的交互無非就是構(gòu)造上面的請求字符串。
1、在Flash中,先構(gòu)造好請求的字符串,然后利用函數(shù)LoadVariables(),就可以向服務(wù)器端發(fā)送請求和參數(shù)。我們來詳細(xì)看看LoadVariables()這個(gè)函數(shù)。
函數(shù)的標(biāo)準(zhǔn)格式為loadVariables
("url" ,level/"target" [,
variables])
在函數(shù)的各個(gè)參數(shù)中,url就是上面說的請求字符串。level/“target”是返回值的“層次”或者“目標(biāo)”,這兩個(gè)當(dāng)中只能指定一個(gè)。variables是請求的方式,其值可以是“Get”或者是“Post”,一般Get用于參數(shù)值比較短的傳送,Post用于參數(shù)值比較長的傳送,這個(gè)參數(shù)是可選的。比如loadVariables
("
http://www.pcedu.com.cn/guest.asp?userid=guest&pwd=123" ,0,
“GET”)就是一個(gè)完整的請求。
2、在Asp中,先要取得從Flash端傳送過來的參數(shù),這跟操作普通的HTML表單是一樣的。都是利用Request對象,其語句為:
username
= Request(“userid”)
password =
Request(“pwd”)
userid和pwd就是從Flash端發(fā)送過來的參數(shù)名,如果是上一步中的請求字符串,username的值為guest,pwd的值為123。
3、在服務(wù)器端處理完請求,獲得所需要的值后,Asp向Flash端發(fā)送結(jié)果,跟從Asp中操作Html語言一樣,都是用Response對象,其語句為:
Response.Write(“login=true&des=success”)
其返回值1的名為login,值為true,返回值2的名為des,值為success。
4、在Flash端取得從服務(wù)器端返回的值,與操作Flash中普通的變量沒什么不同。如:
_root.gotoAndPlay(eval(login))表示的是跳轉(zhuǎn)到login的值的那一幀。但要注意的是在發(fā)送請求一段時(shí)間之后,才能用返回值,不然取得的是尚未返回的值,錯(cuò)誤就在所難免了,而且這一類的錯(cuò)誤很難發(fā)現(xiàn),用的時(shí)候要多加小心。
---------------------------------------------------------------------