標籤:
為什麼Flex需要請求服務端讀取資料,而不是自己讀取?
Flex 是一門介面語言,主要是做介面展示的,它能實現很多絢麗的效果,這個是傳統Web項目部能比的。 但是它對資料庫和檔案的讀寫 沒有良好的支援。
既然Flex沒有對資料庫和讀寫檔案有良好的支援,那麼讀資料資料,和讀寫檔案,可以用C#或者Java來編寫,然後Flex請求 用C#或者Java寫好的介面。
Flex請求服務端介面的方法有很多種,這邊我就講解如何使用UrlLoader來請求介面。
請求服務端介面的步驟:
1、建立UrlRequest對象,佈建要求的URL,Method的類型(POST,GET),以及請求傳遞的參數
2、建立UrlLoader對象去請求介面。 (記得把UrlRequest傳入UrlLoader的Load方法裡)
3、對返回的資料進行處理
代碼例子(程式碼片段):
//請求服務端的方法(UrlLoader)protected function mytree_creationCompleteHandler(event:FlexEvent):void{//1、建立UrlRequest對象,佈建要求的URL和Method類型(Get,Post)、請求的參數(data) var urlRequest:URLRequest=new URLRequest(); urlRequest.url="http://192.168.116.64:9986/Manage/ComponentManage/AjaxHandler/F_ElementToXML.ashx?type=getElement"; urlRequest.method = URLRequestMethod.POST; var param:URLVariables = new URLVariables(); param.name = "zhongxia"; param.age = "20";//2、建立UrlLoader,並把urlRequest對象賦值給UrlLoader的Load方法,並且註冊事件 var ul:URLLoader=new URLLoader(); ul.load(urlRequest); ul.addEventListener(Event.COMPLETE,handler);}//UrlLoader請求完成的處理private function handler(e:Event):void{ //3、把資料讀出來(資料儲存在事件對象e裡面),做想要執行的操作 var jsonString:String=e.target.data as String; //下面是對資料的操作 var json:Object = com.adobe.serialization.json.JSON.decode(jsonString); var arr:ArrayCollection=new ArrayCollection(json as Array) mytree.dataProvider=arr;}
【教程】【FLEX】#002 請求服務端資料(UrlLoader)