본문 바로가기
Web Program/전자정부표준프레임워크

ajax IE 에러 No Transport 액세스가 거부되었습니다.

by 학수씨 2015. 1. 15.

타 서버와의 Data통신을 위해 ajax 로 구성을 했다.


물론 타 서버의 설정을


<add name="Access-Control-Allow-Origin" value="*" />

<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />


아래와 같이 크로스도메인을 허용할수 있도록 설정 했다..


그런다음 아래의 소스코드로 ajax 를 구현함. 

-- 아래 소스는 IE에서 에러나요~~.. 찬찬히 밑으로 더 읽어주시길.



크롬에선 아주 잘됨.. 개잘됨.. 


그러나.. IE에서 Error 을 발생시킨다.

Error 내용을보니 No Transport 에러... 구글링을 해보니 크로스도메인 (※ 서로 다른 서버) 이라서 

$.support.cors = true;

를 넣어줘야 한다고 해서 넣고 다시 IE로 돌렸다..


그랬더니 액세스가 거부되었습니다. 라고 에러가 뜬다.


구글링을 미치도록 해본결과... xml 은 안됨 jsonp 형식을 써라... url 뒤에 ?callback=? 붙여줘라...

$.ajax 는 동작하지 않으니 XDomainRequest 를 써라..


진짜 뻥안치고 다해봤다.. IE7에서는 되는데 IE8에서 문제./. IE8이 되면 IE9 문제..

미친 인터넷 익스플로러 개나줘버려 젠장할


클라이언트가 IE만 쓰고 버전도 다양하게 사용하므로./.. 반나절 구글링은 실패..


결국...


JSP <-> 내부서버 <-> 외부서버 

이렇게 통신시켜버림..


그랬더니 개잘된다..


일단 JSP 에서 ajax 는 내부서버 url을 넣어줘야 한다..

그런다음 서버단에서 respone을 외부서버 data를 받아와 그대로 출력...


젠장 반나절동안 뭐한거지./





댓글