[AS3] 서버사이드로의 데이터 전달 방식 차이점
Flash - as2, as3 2010. 2. 24. 13:12#1. URLLoader.load() 메서드를 활용하여 서버에서 피드백 받기
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
/*
* URLVariables 클래스를 통한 데이터 정의
* URLLoader.load() 메서드를 이용한 데이터 전달
* URLLoader.load() 메서드를 이용할 경우 전달된 데이터에 대한 피드백을 받을 수 있다.
*/
public class URLVariablesExample extends Sprite
{
public function URLVariablesExample()
{
var request:URLRequest = new URLRequest();
// URLVariables 클래스를 사용하여 응용프로그램과 서버 사이에
// 변수를 전송할 수 있다.
var variables:URLVariables = new URLVariables();
variables.name = "Franklin"
request.url = "http://localhost/greeting.cfm";
request.method = URLRequestMethod.POST;
// URLRequest 객체의 data 속성에 할당된다.
request.data = variables;
var loader:URLLoader = new URLLoader(); // URLLoaderDataFormat - 데이터 수신 방식을 지정한다. BINARY, TEXT, VARIABLES
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener( Event.COMPLETE, completeHandler );
try
{
// 전달한 데이터에 대한 어떠한 결과를 기대할 경우
// URLLoader.load() 메서드를 이용
loader.load( request );
} catch(e:Error) {
trace( "Unable to load URL" );
}
}
private function completeHandler( e:Event ):void
{
//trace( e.target.data );
trace( e.target.data.welcomeMessage );
}
}
}
외에 sendToURL() 메서드를 통해 데이터를 전달할 수 있으나, 서버의 응답여부는 무시한다.
전달한 데이터에 해당하는 웹페이지를 바로 확인하고자 한다면 navigaToURL() 메서드를 이용한다.
#2. navigateToURL() 메서드를 이용하여 데이터 전달하고 해당 url 에서 확인.
package
{
import flash.display.Sprite;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;
/**
* navigateToURL() 메서드 활용
*/
public class NavigateToURLTest extends Sprite
{
private var url:String = "http://localhost";
public function NavigateToURLTest()
{
init();
}
private function init():void
{
var variable:URLVariables = new URLVariables();
variable.name = "voooo";
variable.num = "444444";
var req:URLRequest = new URLRequest( url );
req.data = variable;
// GET/POST 방식을 지정할 수 있다.
//req.method = URLRequestMethod.POST;
navigateToURL( req );
}
}
}