Rubberduck-Debugging

ajax json 응답 @ResponseBody 정리 본문

개발자/20181127 교육과정

ajax json 응답 @ResponseBody 정리

P缶 2019. 1. 1. 17:38

 @ResponseBody 


자바 controller 단


1
2
3
4
5
6
7
8
9
10
11
@RequestMapping(value="memo", method=RequestMethod.PUT, headers={"Content-type=application/json"})
    public @ResponseBody String modify(@RequestBody MemoDto memoDto, HttpSession session) {
        MemberDto memberDto = (MemberDto) session.getAttribute("userInfo");
        if(memberDto != null) {
            memoDto.setId(memberDto.getId());
            memoDto.setName(memberDto.getName());
            int cnt = memoService.modifyMemo(memoDto);
        }
        String memolist = memoService.listMemo(memoDto.getSeq());
        return memolist;
    }
cs


자바스크립트 ajax 단


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$(document).on("click"".memoModifyBtn"function() {
        var mseq = $(this).parents("td").attr("memo-mseq");
        $("#div" + mseq).css("display""none");
        var seq = '${article.seq}';
        var mcontent = $("#mcontent" + mseq).val();
        var parameter = JSON.stringify({'mseq' : mseq, 'seq' : seq, 'mcontent' : mcontent});
        alert(mcontent);
        if(mcontent.trim().length!=0) {  
            $.ajax({
                url : '${root}/memo',
                type : 'PUT',    //get,put은 사용한 상태. rest에 의해서 put(update니까)Json.stringify(url)
                contentType : 'application/json;charset=UTF-8',
                dataType : 'json',
                data : parameter,
                success : function (data) {
                    makeList(data);
                }
            });
            
        }
    });
cs


자바단에서 @ResponseBody String 으로 리턴 값 줌.

따라서 String memoList; 반환할 수 있는것.


jsp단에서 ajax로 dataType : 'json' 선언, success : function(data) 로 memoList를 받음.

(즉, data == memoList 인 것)


따라서 makeList(data) 해서 memoList로 makeList 펑션을 불러올 수 있는 것





더알아보려면 ?

https://victorydntmd.tistory.com/172