[FLEX] HttpService script 내에서 사용하기

<mx:HTTPService  showBusyCursor="true"
  id="listRequest"
  url="http://xxx/get_list.php"
  useProxy="false" method="GET">
        <mx:request xmlns="">
            <table_name>emr_list</table_name>
            <ptx_login>ll</ptx_login>
        </mx:request>
</mx:HTTPService>

위에 방법처럼 하는 것이 일반적이라면

<mx:Script>
  <![CDATA[
   import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
   //import mx.rpc.http.HTTPService;
   private var httpService:HTTPService;
   private function GetEMRList2():void
   {
    httpService.method = "GET";
    httpService.addEventListener(ResultEvent.RESULT,resultHandler);
    httpService.addEventListener(FaultEvent.FAULT,faultHandler);
    httpService.url = "http://****/get_list.php";
    httpService.request = myData;
    httpService.showBusyCursor = true;
    trace(ObjectUtil.toString(httpService));
    httpService.send();
   }
   private function resultHandler(event:ResultEvent):void
   {
    trace(ObjectUtil.toString(event.result));
   }
   private function faultHandler(event:FaultEvent):void
   {
    Alert.show(event.message.toString(),"오류");
   }
  ]]>
</mx:Script>

이런 방법도 있다.

import mx.rpc.http.HTTPService에 주석처리를 한 이유는
중복해서 import해서 에러가 났다고 나와서 였는데 원래는 import해줘야 한다.

그리고 httpSerive.request에서는

var myXML:XML;
myXML = <data>abc</data>;
httpService.request = myXML;

이렇게 해서 바로 넘기면 안넘어가는 것 같다.

Actionscript파일을 만들어서 넣어줘어야 하는듯

CGetListToken.as

package
{
 public class CGetListToken
 {
  public var table_name:String;
  public var ptx_login:String;
 }
}

아래와 같이 할 수도 있다.

var myObj:Object = new Object;
myObj.table_name = "emr_reserve";
myObj.res_time = PtxReserveDateField.text;
<p>httpService = new HTTPService();
httpService.method = "GET";
httpService.addEventListener(ResultEvent.RESULT,resultHandler);
httpService.addEventListener(FaultEvent.FAULT,faultHandler);
httpService.url = "http://***.php";
httpService.request = myObj;
httpService.showBusyCursor = true;
httpService.resultFormat="e4x"
<p>//trace(ObjectUtil.toString(httpService));
httpService.send();

resultFormat을 “e4x”로 하면 결과값이 XML로 나온다.
설정을 따로 하지 않으면 기본값으로 “xml”을 넘긴것과 같은 것으로 알고있는데
이 경우는 결과값이 ArraryObject로 날라온다.

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.