標籤雲

搜尋此網誌

2009/02/23

在 swf 中傳遞參數與接收回應

//========================================
//傳送參數(不接收回應)
//========================================
var handlePage:String = "xxxxxxxx.aspx";
var req:URLRequest = new URLRequest(handlePage);
var param:URLVariables = new URLVariables();
param.var1 = "11111111";
param.var2 = "22222222";
req.method = URLRequestMethod.POST;
req.data = param;
sendToURL(req);
//若是要跳下頁並帶參數要用 navigateToURL(req, "_self");

// data 可以為 ByteArray、URLVariables 或 String 類型
// data 為 URLVariables 物件時,若方法是 POST,就會使用 x-www-form-urlencoded 格式來編碼變數;若方法是 GET, URLVariables 就會使用 URLRequest 物件傳送的變數


//========================================
//傳送參數(接收回應)
//========================================
function onBtnClick(event:MouseEvent){
//送出並等待回應
var loader:URLLoader = new URLLoader();
var param:URLVariables = new URLVariables();
var req:URLRequest = new URLRequest("handlePage.aspx");
param.var1 = "11111111";
param.var2 = "22222222";
req.method = URLRequestMethod.POST;
req.data = param;
loader.dataFormat = URLLoaderDataFormat.TEXT;
//可接收三種dataFormat:
//BINARY 二進位資料形式
//TEXT 文字形式
//VARIABLES URL參數形式
loader.addEventListener(Event.COMPLETE, onResponse);
//用 try..catch 包住 load 以處理錯誤
try {
loader.load(req);
} catch (error:Error) {
trace(error.toString());
}
}
function onResponse(event:Event){
var loader:URLLoader = URLLoader(e.target);
info_txt.text = loader.data;
//如果回應的類型是 URLLoaderDataFormat.VARIABLES, 可以用 loader.data.參數名 取出值
}

沒有留言: