본문 바로가기

프로그래밍/이것저것 일하면서

jquery ajax 응답이 빈값일 때 parseError 발생하는 경우

반응형

오랜만에 공부(?) 하다가 하나 발견했다.

$.ajax 응답이 빈값일 때 http 200에서도 오류로 떨어지는 현상

##오류

jQuery ajax로 parseError가 발생한다. DB를 조회 했는데 값이 없어서 서버에서 null을 리턴했더니 jQuery .done으로도 들어오지 않고 .error로 들어가버렸다. 에러 내용은 parseError가 들어 있었다.

원인

$.ajax 옵션의 dataType이 원인이었다. dataType: json을 써놨더니 응답값이 올바른 json 값이 아니라 empty text라서 파싱할 수 없었던 것이다.

해결

해당 옵션을 삭제해주니 정상적으로 떨어졌다. 이렇게 처리는 성공했지만 응답값이 없을 경우 200이 아니라 204를 써야 할까? '옳은' 값이 무엇인지 헷갈린다.

반응형

개발자가 그리는 인스타툰 팔로우하세요!