ajaxfileupload.js 를 이용하여 비동기 파일 업로드시 에러
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
참고2