flex与服务器交互可以有多种方式:
HttpService, WebService,URLLoader,Socket。
如果要实现Flex通过https与服务器端交互,可以采用两种方式:
(1)通过Blades组件实现,这需要在服务器端进行相应配置,参见:
(2)Flex直接与服务器端进行https方式交互,使用URLLoader可以实现。简单实例代码:
private var httpsUrl:String = "https://xxxx/login.php";// 请求以https方式发送
private function init():void {
var urlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest(httpsUrl);
urlRequest.method = URLRequestMethod.GET;
urlLoader.load(urlRequest);
urlLoader.addEventListener(Event.COMPLETE,completeHander);
urlLoader.addEventListener(Event.OPEN,openHander);
urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpStatusHander);
urlLoader.addEventListener(ProgressEvent.PROGRESS,progressHander);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHander);
urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHander);
}
private function completeHander(event:Event):void {
trace("complete!"+" "+event.target.data);
Alert.show("complete!"+" "+event.target.data);
}
private function openHander(event:Event):void {
trace("open");
}
private function httpStatusHander(event:HTTPStatusEvent):void {
trace("http status: "+event.status);
}
private function progressHander(event:ProgressEvent):void {
trace("progress: "+event.bytesTotal+"--"+event.bytesLoaded);
}
private function ioErrorHander(event:IOErrorEvent):void {
trace("io error event");
Alert.show("io error event");
}
private function securityErrorHander(event:SecurityErrorEvent):void {
trace("security error event");
Alert.show("security error event");
}