[筆記]flash搭配後端程式顯示資料(有點像ajax的感覺)

flash搭配後端程式顯式資料
這已經是我之前學到的方法了

覺得ajax很複雜
參數很難掌握

也可以使用這個方法

flash也有表單物件
做的好的話,跟ajax無異

而且flash因為是用動畫呈現
除了畫面框之外
可塑性也很高

(提外話:我當時學還只是flash MX勒)
(現在已經CS3摟?看來要重學這一塊了)
(聽說action script3.0有點難是吧?)

——————————————-
回歸正題

關鍵的action script

就是loadVariables函數

範例
loadVariables(“progam.asp”, this, “GET”);

在frame第一格中加入此行
當然,目標程式progam.asp要改摟
如果要傳入值給後端程式,你可以這樣寫
loadVariables(“progam.asp?id=3&txt=test”, this, “GET”);

這樣後端程式就可以去request
id和test這二個變數了

那後端程式要輸出什麼東西呢?
內容類似

iscomplete=true&totaldata=2&id1=1&txt1=test1&pic1=pic1.jpg&id2=2&txt2=test2&pic2=pic2.jpg

這樣寫就直接成為flash裡的變數了
直接引用吧

不過有二個重點
第一、後端程式要儲存成unicode
以asp為例子,開頭加入

<%@ LANGUAGE=VBScript CodePage=65001%>

Response.Charset=”Unicode”

第二、你要如何知道變數已經載入了呢?
你要設一個變數(假設為iscomplete)
在flash下第二個frame做if判斷

if(iscomplete=true){
stop();
…..
}


如果載入圖檔位置的變數
要顯示圖片到flash要怎麼辦?

使用loadmovie

開一個空的movie clip 名叫box1,放到舞台

loadMovie(pic1, box1);

載入文字
在box1建立一個文字框叫txt1
就可使用

box1.txt1 = txt1;

補充
要是用迴圈來顯示所有的資料
總不能一個一個輸入吧

沒關係,可以用eval()指令
給個範例
後端程式輸出一個totaldata變數
統計資料的總筆數

for (i=1; i<totaldata; i++) {
eval(“box”+ i+”.txt”+i)= eval(“txt” + i);

}

——————————————————————

方法大致是如此

設計它的顯示方式吧

可以變化的地方很多

祝大家成功