JSONP실례 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

JSONP실례 정보

PHP JSONP실례

본문

서버 측(PHP)에서는 다음과 같이 JSON 데이터를 생성하고, 해당 데이터를 콜백 함수로 래핑합니다:


<?php
$data = array("key" => "value");
$json = json_encode($data);
$callback = $_GET['callback'];
echo $callback . '(' . $json . ');';
?>


위 코드에서는 $data 배열을 JSON 형식으로 변환한 후, 클라이언트가 제공한 콜백 함수 이름($_GET['callback'])을 사용하여 데이터를 콜백 함수로 래핑한 결과를 출력합니다.

클라이언트 측(HTML)에서는 다음과 같이 JSONP 요청을 보내고 응답된 데이터를 처리하는 방법입니다:

<script>
function callbackFunction(data) {
console.log(data.key); // 결과: "value"
}
</script>
<script src="http://example.com/data.php?callback=callbackFunction"></script>


클라이언트에서는 <script> 태그의 src속성에 서버의 PHP 파일 경로와 콜백 함수 이름을 포함한 URL을 지정합니다. 이렇게 하면 서버는 해당 PHP 파일을 실행하고, 응답된 데이터를 콜백 함수로 감싼 JavaScript 코드로 클라이언트에게 전송합니다. 클라이언트는 콜백 함수를 정의하고, 서버로부터 응답된 데이터를 처리할 수 있습니다.

JSONP를 사용하여 다른 도메인에서 데이터를 가져올 때에도 주의해야 합니다. 안전 상의 이슈가 있을 수 있으므로, 신뢰할 수 있는 소스에서만 JSONP를 사용하는 것이 좋습니다. 또한, 최근에는 CORS(Cross-Origin Resource Sharing)라는 표준 기술이 등장하여 JSONP보다 안전하고 유연한 방식으로 다른 도메인과의 데이터 교환을 지원합니다.
추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT