티스토리 뷰
우리는 흔히 아래와 같은 코드로 ajax 호출을 시도합니다..
( jQuery 신이시여 감사합니다. )
$.ajax({
type: 'POST',
dataType: 'text',
url: callURL,
data: $('#onBoardForm').serialize(),
success: function ( text ) {
alert( text );
opener.location.replace( "${pageContext.request.contextPath}/list.jsp" );
self.close();
},
error: function ( request, status, error ) {
alert( request.responseText );
}
success 는 호출한 서버측에서 200 ok ( 202 도 되나 ) 를 주면 타게 되고.
error 은 각종 404, 500, 등등의 에러코드를 response.setStaus() 로 주면 타게 됩니다...
그래서 흔희 아래와 같은 코드를 서버쪽에서 작성하게 되지요.
response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
response.getWriter().write( "VNF Instance 생성 권한이 없습니다." );
return;
그런데.. 문제가 생겼습니다.
파일 업로드를 ajax로 작성하고, 이미 파일이 있다는 의미로, response.setStatus("HttpServletResponse.SC_INTERNAL_SERVER_ERROR") 를 줬습니다.
HTTP 302 에러죠..
크롬으로 코딩하면서 술술 넘어갔습니다....
error 코드를 제대로 탔거든요..
하지만 explorer 로 테스트를 하자 문제가 생겼습니다.
success 도 타지 않고, error 도 타지 않고, pending 이 걸리는 문제가 생겼죠..
아마도 HTTP response code 별로 각 브라우저가 해석하는 방법이 조금 다른 듯 싶습니다.
시간도 없고, 빨리 처리해야 해서, 그냥 500 에러를 던지고 처리하는 방법을 택했는데..
시간이 나면 Http response code 별로 브라우저들이 어떻게 처리하는지 알아보는게 좋을 듯 하네요..
덕분에 삽질 좀 했습니다.
- Total
- Today
- Yesterday
- 텐트
- 캠핑장
- 여행
- 전북
- 스프링
- 아마존
- 에닝요
- SqlSessionfactory
- Java
- LG
- 부모님
- PIC
- G3
- 자바
- 스프링부트
- spring tutorial
- Spring
- 사이판
- 캠핑
- 펜탁스
- 세부
- mybatis
- MySQL
- K리그
- 강원도
- 카메라
- web.xml
- 톰캣
- 리조트
- k-3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |