시스템아 미안해

ajax form 400에러 본문

error diary

ajax form 400에러

if else 2022. 12. 21. 08:42

 html에서 form으로 감싸진 name중 VO에서 선언한 int형 필드가 있을때 생긴 에러.

insert와 update를 같은 뷰에서 했는데 update뷰엔 idx가 존재하지만, insert뷰엔 idx가 null이었다.

int형 vo필드를 name으로 controller에 인자로 넘겼는데 이 값이 null이면 400에러가 떴다.

 

해결방안)

1. vo변수를 String형으로 바꾼 다음 DB로 넘기기 직전에 int로 변환한다.  

2.vo변수를 Integer형으로 바꾼다

3. 해당 name을 삭제하고 id를 줘서 submit 전 formData객체를 생성한 후 조건문을 돌린다.

	if($("#intIdx").val() != ""){
			formData.append("intIdx",$("#intIdx").val());
	}else{
			formData.append("intIdx",0);
	}

무조건 controller에 int value를 넘기기 위함이고,

이렇게 할 경우 백에서 intIdx를 체크한 후 insert, update를 해야한다. 

 

 

 

4. 많은 값을 name으로 넘기지 않을 경우, controller에서 인자를 VO로 받지 않고 각각의 변수로 따로 받되

   @requestparam(value="idx", required=false)int idx 로 설정한다.