728x90
반응형
ajax로 controller로 객체를 넘기는 방법
ajax로 객체를 controller로 넘겨 값을 찍어보니 null로 출력되었다.
해결 방법은 ajax로 넘기기 전 JSON.stringify() 함수로 문자열로 변환하고, controller에서 String값으로 전달 받은 후,
다시 역순으로 String을 객체로 변환할 수 있었다.
ajax 코드
function addTest(testObj){
$.ajax({
type : "POST",
url : currentHostPath + '/ajax/addTest.do',
data : {
testObj: JSON.stringify(testObj)
},
success : function(data) {
console.log("success", data);
},
error : function(data) {
console.log("fail");
}
});
};
controller 코드
public @ResponseBody HashMap<String, Object> ajaxTest(
HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = "testObj", required = false) String testObj) throws Exception {
JSONParser parser = new JSONParser();
Object obj = parser.parse(testObj);
JSONObject jsonObj = (JSONObject) obj;
HashMap<String, Object> resulthashMap = new HashMap<>();
return resulthashMap;
}
728x90
반응형
'Programing > Javascript, JQuery' 카테고리의 다른 글
[JavaScript] 숫자 세자리마다 콤마 찍기 (0) | 2021.03.01 |
---|---|
[JQuery] file rename, move 참고 blog (0) | 2021.01.13 |
[JavaScript] jsTree plugin으로 TreeView 구현 (0) | 2020.12.18 |
[Javascript] 입력창에 정수값만 입력받기(유효성 체크) (0) | 2020.12.04 |
[JQuery] 배열에서 특정 값 제거하기 (0) | 2020.11.13 |