Language/Java
AbstractResourceRenderer.renderBody 에러 해결방법
나비와꽃기린
2018. 5. 28. 23:08
Ajax로 통신을 하던 도중 에러가 발생했다.
AbstractResourceRenderer.renderBody 블라블라..
이유인 즉슨, 다음과 같이 ajax를 호출할 때
$.ajax({
type:"POST",
url: "/contextRoot입력..../menuList",
dataType: "json",
//data : params,
cache : false,
success : function(resData){
console.log("menuData :: ",resData);
},
error : function(xhr, status, e){
console.log("여기는 error");
//alert("오류가 발생하여 목록을 불러오지 못했습니다.");
}
});
서버에서 클라이언트로 송신해주는 Response Data를 Body 부분으로
전달해 줘야 하는데
▲잘못된 소스 예
위 소스와 같이
@ResponseBody가 정의되어 있지 않았던것 (!!)
따라서 어떤 Body에 실어 응답데이터를 전달해줘야 하는지 서버입장에서는 몰랐던거다.
public @ResponseBody String menuList ~~ 블라블라 처럼 정의해주면 간단하게 해결된다.
Spring의 Annotation을 활용,
Jackson lib를 통해서 Return 타입을 json 타입으로 바꿔주는 거
▲ 올바른 소스 예