http://lng1982.tistory.com/163
다음의 코드는 서버로 HTTP request를 날린 후 response로 JSON데이터를 받아 alert를 찍어주는 부분이다.
$.ajax({
type : "GET",
url : "${pageContext.request.contextPath}/json.do",
dataType : "json",
data : "adsId=" + adsId + "&cmd=" + cmd,
success : function(json) {
if (json.isSuccess) {
alert(json.msg);
}
alert(json.info.adsName);
alert(json.info.imp);
alert(json.info.click);
},
error : function(e) {
alert("처리중 장애가 발생하였습니다.");
}
});
서버에서 response하는 데이터는 다음과 같이 단순 문자열을 client에 보내게 된다. (객체가 아님.)
{"isSuccess":true,"msg":"jsonTest","list":[null],"info":{"adsName":"adsInfo","click":10,"imp":1000}}
결국 var json = '{"isSuccess":true,"msg":"jsonTest","list":[null],"info":{"adsName":"adsInfo","click":10,"imp":1000}}'; 와 같이 받아서 각 속성 값에 접근하여 사용하는 것으로 오해할 수 있는데 사실 알고보면 위의 $.ajax 코드에서는 보이지 않지만 jquery내부에서는 서버에서 전달 받은 데이터를 JSON.parse()를 이용하여 객체 타입으로 변경해 주는 것이다.
대략적으로 다음과 같이 객체 타입으로 변경해준다.
var json = {
isSuccess : true,
msg : "jsonTest"
};
댓글 ( 4)
댓글 남기기