본문 바로가기

👨‍💻 FrontEnd/🟡 자바스크립트 [JavaScript]

[ajax / javascript] form.serialize() 로 데이터 전송, controller 에서 데이터 받기

function joinMemebership() {

	var formData = $('#joinForm').serialize();

	if (confirm("회원가입을 진행하시겠습니까?") == true) {

		$.ajax({
			url: "/member/join",
			type: "post",
			data: formData,
			dataType: "json",
			// contentType: "application/json; charset-utf-8",
			success: function(response) {
				let code = response.code

				if (code = 1) {
					console.log("SUCCESS : ", response);
					alert("회원가입이 완료 되었습니다.");
					location.href = "/member/login";
				} else {
					console.log("ERROR : ", error);
					alert("회원가입에 실패하였습니다.");
				}
			},
			error: function(error) {
				console.log("ERROR : ", error);
				alert("회원가입에 실패하였습니다.");
			}

		})
	}

}

 

 

controller 

@PostMapping("/join")
public ResponseEntity<?> join(JoinDto joinDto) throws UnsupportedEncodingException {

    log.info("회원가입 로직 실행");
    log.info("joinDto ={}", joinDto);

    if (userSerivce.join(joinDto) > 0) {
        return new ResponseEntity<>(new ResponseDto<>(1, "회원가입에 성공하였습니다.", null), HttpStatus.CREATED);
    }
    // 회원가입 실패시
    return new ResponseEntity<>(new ResponseDto<>(-1, "회원가입에 실패하였습니다.", null), HttpStatus.BAD_REQUEST);
}