'URL - encoded 데이터 불러오기'에 해당되는 글 1건

  1. 2008.09.07 URL - encoded 데이터 불러오기
Loader나 URLLoader는 혼자서 서버에 접근할 수 없다. 따라서 서버에 문을 두드리기(요청) 위해서는 요청 전문 객체인 URLRequest를 사용하여 접근할 서버URL이나 파라미터를 설정한다.

URLRequest에는 url이라는 속성이 있다. 이곳에 접근할 서버주소를 설정하고
URLLoader의 load()메서드를 통해 서버에 접근하게 된다.
URLRequest.url = "server url"
URLLoader.load( URLRequest Delegate Variable )



가져올 데이터에 따라 URLLoaderDataFormat을 설정한다. 기본은 Text로 설정되어있지만 URL - encoded 된 데이터는 변수그룹으로 되어있는 것이 대부분이기에
URLLoader.dataFormat = URLLoaderDataFormat.VARIABLES
로 설정하면 사용하기 편하다.

가져온 데이터의 접근은 비교적 쉽다. 대부분의 접근방식으로 가져다 사용할 수 있기 때문이다.
trace( "URLLoader( e.target ).data :" , URLLoader( e.target ).data );
trace( "urlLoad.data                    :" , urlLoad.data );
trace( "urlLoad.data['someText']   :" , urlLoad.data["someText"] );
trace( "urlLoad.data.someNumber   :" , urlLoad.data.someNumber );


또는 아래처럼 연관배열 형태로 값을 가져올 수 있다.
 for( var property:String in urlLoad.data ){
    trace( "for in : " ,  property + " >> " + urlLoad.data[property] )
}
단 위처럼 가져오기 위해서는 URL - encoded의 규칙을 엄격하게 지켜야 한다.

만약 URLLoaderDataFormat.VARIABLES로 설정하지 않았다면 URLVariables를 통해 받은 데이터를
변수로 설정할 수 있다.
var vars:URLVariables = new URLVariables( URLLoader.data );
이후 필요한 데이터를 참조해서 사용하면 된다.
trace("vars : " , vars);
trace("someText : " , vars.someText);
trace("someNumber : " , vars.someNumber);






Posted by 버터백통