본문 바로가기

Programing/Javascript, JQuery

[JQuery] ajax로 controller에 객체 넘기는 방법

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
반응형