작성
·
278
0
안녕하세요 현재 spring을 이용하여 개발 중인 초보개발자입니다.
다름이 아니라 현재 spring의 ajax 통신 기능을 사용하여 체크박스 기능을 구현 중인데, 생각보다 잘 풀리지 않아 질문하고자 합니다.
javascript에 배열을 선언 후 체크박스가 요청하는 데이터베이스 데이터를 mybatis로 구분하여 불러오려 하는데, 배열의 size가 null로 나와 조회가 되지 않습니다.
현재 화면에 데이터를 불러오는데 getmapping을 사용 중인데, 구글링을 하다보니 postmapping이 적합하다고 하는데 혹시 어떤 이유 때문인지 궁금합니다.
만약 꼭 바꿔야한다면 getmapping -> postmapping 으로 변경하려 하는데, 컨트롤러와 ajax의 type을 get에서 post로 변경하였는데 아예 데이터가 올라오지 않는 현상이 발생했습니다.
혹시 어떻게 형식을 바꾸면 되는지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. 배열이 null 로 나오는 이유는 정확히 파악하지 못하겠습니다. 하지만 Spring에서는 GET과 POST 방식의 차이가 있습니다. GET 방식은 URL에 데이터가 노출되어 보안에 취약하며, 데이터의 크기가 제한적입니다. 반면, POST 방식은 URL에 데이터가 노출되지 않으며, 데이터의 크기에 제한이 없습니다. 따라서 보안이 중요한 경우 POST 방식을 사용하는 것이 좋습니다.
또한, ajax의 type을 get에서 post로 변경한 경우 서버에 전달하는 데이터를 request.getParameter(파라미터명)으로 받아야 합니다. 그리고 ajax의 data 옵션에는 JSON.stringify() 함수를 이용하여 JSON 형태로 넘겨주어야 합니다.
그 외의 이유는 코드를 보지 못하여 정확한 답변을 드리기 어렵습니다. 코드와 에러 메시지 등을 더 자세히 보시고, 문제점을 파악하여 해결하시길 바랍니다. 감사합니다.