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"  이부분을 지우면 된다. 

그러면 값을 받을거라고 선언하지 않았기때문에 정상적으로 잘 동작된다.