Ajax 호출시 JSON 으로 리턴 받기
Ajax 호출시 리턴 형태는 xml과 text가 있다. Data를 text로 받는데, 그 text 가 javascript object 배열(JSON)인 것이다. 이 JSON이라고 하는것이 배열 표현 방법의 하나인것이다.
Ajax가 호출하는 페이지의 결과값을 아래처럼 JSON형태로 출력하게 한다. 이때 주의 할점은 배열의 Object 명을 명시 하지 않는다.
responseText 로 리턴 받은 text값을 이제 javascript 의 object 배열로 변경 시켜주면된다. 변경시켜주는 방법에는 여러가지가 있는데, 필자는 아래와 같은 방법을 선호한다. 가장 간단한 방법인 듯 하다.
responseText 로 리턴 받은 text 값의 parameter명이 obj라고 할때, 이 obj를 eval함수로 괄호와 함께 묶어주면 logobanner 이라는 이름으로 object배열이 선언 된다. try cath문으로 묶은 이유는 이 obj가 배열 object형태로 리턴되지 않는 예외경우를 대처하기 위한 구문이다.
실제 사용해보니 xml보다 간편했다. 장단점이 있지만, 굳이 xml을 사용하지 않아도 된다면 JSON형태로의 개발을 추천한다.
Ajax가 호출하는 페이지의 결과값을 아래처럼 JSON형태로 출력하게 한다. 이때 주의 할점은 배열의 Object 명을 명시 하지 않는다.
{
list :
[
{
img_url : ".../20070806_164500_ban_superstar.gif" ,
link_url : "/superstar/Top.htm" ,
link_target : "_self"
},
{
img_url : ".../20070806_164500_ban_superstar.gif" ,
link_url : "/superstar/Top.htm" ,
link_target : "_self"
}
]
}
list :
[
{
img_url : ".../20070806_164500_ban_superstar.gif" ,
link_url : "/superstar/Top.htm" ,
link_target : "_self"
},
{
img_url : ".../20070806_164500_ban_superstar.gif" ,
link_url : "/superstar/Top.htm" ,
link_target : "_self"
}
]
}
responseText 로 리턴 받은 text값을 이제 javascript 의 object 배열로 변경 시켜주면된다. 변경시켜주는 방법에는 여러가지가 있는데, 필자는 아래와 같은 방법을 선호한다. 가장 간단한 방법인 듯 하다.
var logobanner = null;
try {
logobanner= eval('(' + obj + ')');
}catch(e){}
try {
logobanner= eval('(' + obj + ')');
}catch(e){}
responseText 로 리턴 받은 text 값의 parameter명이 obj라고 할때, 이 obj를 eval함수로 괄호와 함께 묶어주면 logobanner 이라는 이름으로 object배열이 선언 된다. try cath문으로 묶은 이유는 이 obj가 배열 object형태로 리턴되지 않는 예외경우를 대처하기 위한 구문이다.
실제 사용해보니 xml보다 간편했다. 장단점이 있지만, 굳이 xml을 사용하지 않아도 된다면 JSON형태로의 개발을 추천한다.
'Web > Client' 카테고리의 다른 글
| javascript로 브라우저 중앙에 레이어 뛰우기 (0) | 2008/01/07 |
|---|---|
| 자바스크립트로 구현한 튤팁(Tooltip) (0) | 2007/08/20 |
| Ajax 호출시 JSON 으로 리턴 받기 (0) | 2007/08/06 |
| java냐 javascript이냐? (0) | 2007/07/31 |
| javascript include 클래스 (0) | 2007/02/23 |
| iframe 과 같은 object 태그 (0) | 2007/02/08 |
- Posted by byuli on 2007/08/06 22:09
- 받은 트랙백이 없고
- 댓글이 없습니다.