카테고리 없음

ajaxfileupload.js 를 이용하여 비동기 파일 업로드시 에러

빤따스뤽 2013. 7. 13. 03:06

http://blog.naver.com/hcege/90137356838

이 포스팅을 보고 파일 업로드를 만들 었다.

윈도우 tomcat 환경에서는 잘 동작 하는데

cafe24 리눅스 서버에서 돌리면 파일 업로드 에러가 발생

서버단에서 리턴해 주는 json 문자열도 지극히 정상인데

브라우저에서 ajax 에러가 난다. -0-;;;

소스를 다시 올려보고

브라우져 소스보기해서 저장하고 로컬 소스보기해서 저장하고

토탈커맨더로 텍스트 비교, 바이너리 비교... 똑같다.

 

서버 properties 에 경로도 몇번씩 확인하고

출력 json 문자열 비교하고 다른게 없는데

윈도우+eclipse+tomcat 플러그인 에서는 잘~ 돌아가는게

리눅스 + tomcat 환경에서는 에러... 미치겠다.

담배한대 피고 이런 javascript 디버깅 노가다 ㅠㅠa

한참을 삽질 끝에

 

dataType 을 json 에서 text 로 바꿔주고

결과를 alert로 찍어 봤다.

$.ajaxFileUpload ({
         url:"/common/bbsFileUpload.do",
         secureuri:false,
         fileElementId:"fileToUpload",
         //dataType: "json",
         dataType: "text",
         success: function (json, status) {

               alert(json);

         }....

쉣...

<PRE>{"result":"success".....}</PRE>

오잉 ? 이게 뭐지?

로컬에서 윈도우 환경에서는

{"result":"success".....}

이렇게 정상적으로 나오는데...

 

구글링을 해보니

ajax 파일 업로드시 iframe 을 이용하기 때문에

결과를 iframe에 뿌려주는 것으로 판단하고 위해 브라우져가

<PRE>...</PRE> 테그로 감싸 준다는 것이다.

결국 ajax 호출 시 dataType를 "text"로 설정하고

받아온 값에서 정규식으로 <pre></pre> 테그를 걷어내고

json으로 변환 하여 사용...

이거때매 몇시간을 헤멘거냐 대체

 

참고1

http://warmz.tistory.com/736

 

참고2

http://starplatina.tistory.com/entry/ajax%EB%A1%9C-%ED%8C%8C%EC%9D%BC-%EC%97%85%EB%A1%9C%EB%93%9C-%ED%95%9C-%ED%9B%84%EC%97%90-%EB%A6%AC%EC%A0%88%ED%8A%B8-pre%EB%A1%9C-%EC%8C%93%EC%97%AC-%EC%9E%88%EC%9D%84-%EB%95%8C