BGM용 세이라디오
열기▼       고정
전체
글목록

JSON 데이터를 받는 가장 쉬운 방법

목요일, 10월 31, 2013
다음과 같은 형식으로 스크립트 태그를 추가한다.



<script>
function f(received_data){
~
}
</script>
<script src="http://example.com/test.json?callback=f"></script>

즉, json URL(항상 .json으로 끝나진 않음) 뒤에 첨자로 callback=[함수이름]와 같이 작성해주면 된다. 그러면 스크립트가 다음과 같은 형식으로 전송된다.

적용 전:
{"data1":"value1", ...}  ☜JSON 형식
적용 후:
f({"data1":"value1", ...});  ☜JS 형식

따라서 스크립트를 수신하는 즉시 함수 f가 실행된다.

필자가 JSON 데이터를 보내는 php 페이지를 만들어 시험해본 결과, 이 callback 기능은 서버에서 만들어내는 것으로 보인다. 따라서 브라우저에 상관없이 서버가 이 기능을 지원하면 사용 가능하다. 반대로 말하면, 서버가 이 기능을 지원하지 않는 경우엔 사용할 수 없다는 단점이 있다.
장점으로는 크로스 도메인 문제(Same-Origin Policy)를 해결할 수 있다는 점이 있다.

필자는 이 기능을 이용해 외부 서버에서 JSON 데이터를 수신해 블로거의 단점을 보완하고 있다.
첫 댓글을 써주세요!

댓글을 인용하려면 @![댓글 ID]!@와 같이 쓰시면 됩니다. "@!" 와 "!@"를 쓰시려면 "+@+!+", "+!+@+"와 같이 써주세요.

페이스북 댓글
.post-outer{ -webkit-transform:none; transform:none; display:inline; padding:0; margin:0; border-width:0; } .hentry>div{ display:none; }