글 수정 AJAX로 구현하기

405 error가 뜬다 → 메소드 오류

Request method 'PUT' not supported 이라고 오류가 생김

contentType 문제 혹은 filter설정 혹은 자바스크립트 function문제라고 생각함

Postmapping → PutMapping 실수였는데 다른 프로젝트를 수정했다 단순한실수

내가 놓친 부분

update하는 데 당연히 id 값이 필요하다 hidden으로 해서 보냄

id, title content 담아서 보냄!

매개변수에 id 값을 가져오는 거랑은 다르다 매개변수 그거는 나중에 그 값을 받아서 detail/10 이런식으로 주소를 활용할 때 사용

js/update.js

// ajax update 로직 정리할 것.
function update(id) {

	let data = $("#updateFrm").serialize();
	console.log("frm serialize하면 값이 원하는데로 나오나? : " + data);

	$.ajax({
		type : "PUT",
		url : "/updateProc",
		data : data,
		contentType : "application/x-www-form-urlencoded; charset=utf-8",
		// contentType : json으로 잘못 넣으면 바로 글 수정실패뜸
		dataType : "text"

	}).done(function(resp) {
		console.log(resp);
		if (resp == 1) {
			alert("글 수정 성공");
			location.href = "/detail/" + id;
		} else {
			alert("글 수정 실패");
		}

	}).fail(function(error) {
		alert("서버 문제");
	});

}

PUT으로 했고, 매개변수 id 받은거는 글번호 받아서 나중에 주소이동할 때 사용하는 것

  1. button type = submit버튼을 form태그 안에 넣어서 데이터를 받아서 나는 만들었음
  2. 근데 button type="button"으로 하고 form 태그 밖에다가 해서 메소드호출하는게 나은 듯함.

둘중에 하나 하면 됨 (새로고침 차이)