URLLoader를 사용하여 데이터를 로드 할때 서버에서 데이터가 안내려 오면 2032 스트림 오류가 발생 한다. 하지만 서버도 정상적으로 동작하고 데이터도 정상적으로 내려오고 있을때(해당 파일이 존재 할 때), IE 에서만 2032 오류가 발생할 경우가 있다.
var infoLd:URLLoader = new URLLoader(); var queryUrl:String = ""; infoLd.addEventListener(Event.COMPLETE,hnInfoLoaded); infoLd.addEventListener(IOErrorEvent.IO_ERROR,hnLoadError); infoLd.load(new URLRequest(queryUrl)); function hnInfoLoaded( e:Event ):void{} function hnLoadError( e:IOErrorEvent ):void{}
위의 코드와 같은 상황에서 여러 가지 이유로 인해 2032 오류가 발생할수 있는데, IE 브라우저에서만 발생 한다면 IE 에서 지원하는 최대 URL 길이 제한을 넘었을 가능성이 크다. IE에서 지원하는 URL 길이가 타 브라우저에 비해 상대적으로 짧기 때문이다.
IE 에서는 최대 2083 길이 이하의 URL 만 request 를 보낼수 있으며, POST/GET 방식 모두 적용 된다.
예를 들어 URLLoader로 다음과 같은 URL 을 로드 할때 발생할 수 있다.
http://dongkang.com/data/list.do?list=1234567/1234567/1234567/1234567/1234567/1234567/........(length:2083)
위의 API 와 같이 URL 로 인자를 확인할때는 데이터를 나눠서 로드를 하거나, URL 길이를 줄일수 있는 다른 방법으로 접근 해야 한다. 위의 내용은 IE의 대부분 버전에서 동일하게 발생하며, 자세한 내용은 아래 URL에서 확인 가능 하다.
'Actionscript3.0' 카테고리의 다른 글
[AS3] callback 과 dispatchEvent (9) | 2010.06.13 |
---|---|
AS3 vs Javascript Performance Test (0) | 2010.01.14 |
[AS3] TextField 에 한정된 라인에만 글짜 넣기 (0) | 2010.01.12 |