SPRING
AJAX 200에러 이유
_-_-kk
2024. 1. 4. 17:34
좋아요 기능을 구현중에 이상한 에러를 발견했다.
아니 분명 ajax로 값을 서버로 잘 보내지는데 자꾸 200으로 에러가 뜨는것이였다.
js 코드 일부분
else {
console.log("FFFFFF NOTHING");
$.ajax({
url: "addLike",
method: "POST",
dataType: "JSON",
data: { boardNo: boardNo, userNo: userNo, loginUserNo: loginUserNo },
success: function () {
console.log("요청이 성공적으로 처리되었습니다.");
},
error: function (request, status, error) {
console.log("addLike AJAX 에러 발생");
console.log("상태코드 : " + request.status);
console.log(boardNo);
console.log(userNo);
console.log(loginUserNo);
alert("응 실패입니당");
},
});
} // else끝
controller (응? 왜 저렇게 멀게 보여지는지 모르겠지만 아무튼 저렇게 멀게 쓰지않았다 )
@PostMapping("/addLike")
public String addLike(
BoardLikeVO likeVo,
@RequestParam("boardNo") int boardNo,
@RequestParam("userNo") int userNo,
@RequestParam("loginUserNo") int loginUserNo,
@ModelAttribute("loginUser") User loginUser
) {
likeVo.setBoardNo(boardNo);
likeVo.setLoginUserNo(loginUserNo);
logger.info("boardNo" + boardNo);
logger.info("loginUserNo" + loginUserNo);
logger.info("userNo" + userNo);
service.addLike(likeVo);
return "board/boardDetail";
}
아무튼 값도 디비에 잘 넘어가지고 잘 저장되어진다.
근데 자꾸 200에러가 떴다.
알고보니 서버로부터 데이터를
dataType: "JSON"
으로 응답받을 거라고 지정했는데
정작 서버에서는 아무런 응답을 넘겨주지않았기때문에
값은 서버로 잘 전달되어졌더라도 뷰로 값을 받지못해서 에러로 표시한다는것이다.
그럼 어떻게 하느냐?
응답을 받아오는게 보통이지만 정 응답을 안받아오고 싶으면
dataType: "JSON" 이부분을 지우면 된다.
그러면 값을 받을거라고 선언하지 않았기때문에 정상적으로 잘 동작된다.