내용 |
ajax 요청 시 URL에 %5B%5D 가 있을 경우는 같은 이름의 파라미터가 여러 개 있을 경우이다.
예를 들면 favorite 매개변수의 값에 apple, cherry, banana가 매핑되어 있고, 서버의 요청 URL이 /insert 일 경우
파라미터가 붙은 ajax url은 /insert?favorite[]=apple&favorite[]=cherry&favorite[]=banana 형식으로 전달 되는데
[]가 브라우저 URL에서 %5B%5D로 표시된다.
이것을 스프링 핸들러 메서드가 받으려면 다음 두 가지 방법 중 하나를 사용할 수 있다.
1. 스프링의 핸들러 메서드 매개변수 파라미터를 다음처럼 지정한다.
@GetMapping("/insert")
public String insertDate(@RequestParam(name="favorite[]") List favorite, Model model) {
...
2. JQuery 설정을 변경한다.
$.ajaxSetup({traditional: true});
이렇게 하면 $favorite[]=apple&favorite[]=cherry 형식이 아닌 &favorite=apple&favorite=cherry 형식으로 보내진다.
|