JSP·script·jquery

jquery ajax 데이터 json으로 받기

초이짬 2013. 11. 28. 11:07
728x90

Spring 을 예로 들면 dispatch에 jsonview에 대한 설정이 되있고 리턴시 뷰 네임을
jsonview로 하겠다고 하면 됨.

ex)
==스프링 뷰설정===
<bean id="beanNameResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0" />

<!-- jsonView -->
<bean id="jsonView" class="net.sf.json.spring.web.servlet.view.JsonView">
<property name="contentType" value="application/json;charset=UTF-8" />
</bean>

==컨트롤러 리턴시====
모델로 리턴하고
ModelAndView mav = new ModelAndView();
mav.setViewName("jsonView");
mav.addObject("키이름", "반환할값");


====혹은====

 @RequestMapping("/sample/json.do")
 public String sample(Model model, PVO vo) throws Exception {
        
  model.addAttribute("키이름", data);

 
  return "jsonView";
 }


{키이름:"반환할값"} 이런 형태로 리턴 됨

====화면단====


//폼데이터가 아닌 파리미터 형태일 경우

var params="param1="+param1+"¶m2="+param1;  


$.ajax({
url: "호출 URL",
type: "post",
dataType:"json", //전송받을 형식 지정
async: false,     //동기 비동기 설정
data : $("#form1").serialize(),  //폼데이터를 직렬화해서 전송 폼전체를 전송시

//data : params, //파라미터형태로 전송할 경우
success: function(data){       //성공시 data라는 변수에 리턴값이 매칭됨 오브젝트형으로 리턴시 개별 파싱해야됨
   if(data.키이름 == "fail"){
       alert("수정 실패 입니다.");
  }else if(data.키이름== "duple"){
        alert("해당 소속기관은 이미 카테고리 등록이 되있습니다.");
  }else if(data.키이름 == "update"){
        alert("수정 되었습니다.");
  }else{
       alert("입력 되었습니다.");
  }
      fnList();

},complete: function(data){

   //실패 했었도 완료가 되었을때..
},error: function (request, status, error) {
   alert("입력중 에러 발생 브라우저를 재시작 후에 시도해 주세요");
}
});

 

 

//상기방법은 리턴되는 형태가 오브젝트형일때.

//하단은 배열 형태의 형태일때

$.each(json, function(key,val){
    console.log(key);
     console.log(val);
   });

728x90