'URLRequest'에 해당되는 글 3건

  1. 2008.09.20 XML 데이터 업로드
  2. 2008.09.07 서버에 데이터송신 2
  3. 2008.09.07 URL - encoded 데이터 불러오기
AS3.0 Cookbook/XML2008. 9. 20. 18:10

서버사이드에 XML데이터를 업로드 하기 위해서는 URLLoader()를 사용하고 URLRequest()객체에 데이터를 보내고자 하는 xml데이터로 설정하고 데이터의 Mime타입을  "text/xml"로 설정하면 된다.

var xmlData:XML =   <gamescore>
          <username>{userName}</username>
          <score>{score}</score>
         </gamescore>;

[ URLRequest의 데이터와 컨텐츠 mime 타입설정 ]
URLRequest.data = xmlData;
URLRequest.contentType = "text/xml";


Posted by 버터백통
서블릿이나 기타 서버사이드 언어와 데이터를 주고 받을 때 실행할 메서드나 변수와 값을 클라이언트에서 넘겨주어야 하는 경우가 자주 발생한다. 역시 이러한 때에도 URLRequest()와 URLVariables() , URLLoader() 클래스를 이용한다.

데이터를 보내고 싶을 때는 URLVariables를 이용한다. URLVariables에 필요한 변수와 메소드를 설정한 다음
URLRequest의 data로 설정하여 URLLoader를 통해 load()를 실행한다.

[ 접근할 서버 경로 설정 ]
var request:URLRequest = new URLRequest("서버 사이드 url")

[ 서버에서 필요한 정보설정 ]
var variables:URLVariables = new URLVariables();
variables.method = "정의된 메소드 ex) checkID , saveData..";
variables.userId = "ID" //서버쪽에서 필요한 정보
variables.age = "30" //서버쪽에서 필요한 정보

[ URLRequest 객체에 데이터 설정 ]
request.data = variables;

[ 서버로 접근 ]
loader.load( request );
Posted by 버터백통
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 버터백통