jquery ajax json mvc 스프링 post 

jquery 로 스프링 통신시 컨트롤로 선언 방법과 리턴방법 jquery에서 사용법등을 정리해보겠습니다. 

일단 스프링 에서 컨트롤러 선언입니다. 저는 사과로 선언을 해보겠습니다. 

@RequestMapping(value = "/apple", method = RequestMethod.POST, consumes = "application/json")
	public @ResponseBody CommonData apple(@RequestBody CommonData dto) {
		CommonData result_data = new CommonData();
		String apple = dto.get("apple","");
		result_data.put("result",apple);
		return result_data;
	}

@RequestBody 해쉬맵 변수명 으로 하면 강종항목들이 키와 값으로 분리되어  들어갑니다. 

CommonData 를 궁금해 하시는분들이 많으셔서 해쉬맵인데 전자정부프레임워크 처럼 map데이터사용시 쓸려고 재정의 해 놓은것 뿐입니다. 

public class CommonData extends LinkedHashMap {
	public void put(String key, Object value){
		super.put(key, value);
	}

	public String get(String key) {
		if(super.get(key)!=null)
		{
			return super.get(key).toString();
		}
		else
		{
			return null;
		}		
	}
	public String get(String key,String value)
	{
		if(super.get(key)!=null)
		{
			return super.get(key).toString();
		}
		else
		{
			return value;
		}	
	}
	public Object getObj(String key) {
		return super.get(key);
	}
}

거기에 @ResponseBody 해주면 해쉬맵이 json형태로 변화되어 응답합니다. 안에 리스트데이터나 뭐 각종데이터를 넣어서 보내어도 계층화되어 전송이 됩니다. 

ajax소스인데요. 

		$.ajax({
            url : '${pageContext.request.contextPath}/jqueryajax/apple',
            type : 'post',
            contentType: 'application/json',
            data : JSON.stringify ({'apple':'100','banana':200}),
            dataType : 'json',
            success : function(data){
                // 통신 성공시 실행....
            	data = data.RESULT;
            },
            error : function(xhr,status,error){
                // 통신 실패시 실행....
                // alert(xhr.status + " " + xhr.statusText);
                // alert("통신실패 : ["+xhr.status + " " + xhr.statusText+"]");
                alert("데이터 불러오는데 실패했습니다.");
            },
            complete : function(data){
                // 통신 실패했어도 최종 완료시 실행...
                // alert('complete');
            }
        });

이런식으로 호출해서 사용하시면 됩니다. 

 

'JQUERY' 카테고리의 다른 글

jqgrid jquery 내부값 변경하기 특정셀값 jqgrid  (0) 2014.12.01
JUQERY 폰 전화 PHONE 정규식 검사 - 포함  (0) 2014.12.01
jquery정리  (0) 2014.11.20
블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,