s

JSONP실례

· 2년 전 · 1081

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

[code]
<?php
$data = array("key" => "value");
$json = json_encode($data);

$callback = $_GET['callback'];
echo $callback . '(' . $json . ');';
?>
[/code]

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

클라이언트 측(HTML)에서는 다음과 같이 JSONP 요청을 보내고 응답된 데이터를 처리하는 방법입니다:
[code]
<script>
function callbackFunction(data) {
console.log(data.key); // 결과: "value"
}
</script>
<script src="http://example.com/data.php?callback=callbackFunction"></script>
[/code]

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

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

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

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

+
분류 제목 글쓴이 날짜 조회
PHP
[PHP]
2년 전 조회 996
JavaScript 2년 전 조회 1,677
PHP 2년 전 조회 1,109
JavaScript 2년 전 조회 953
PHP 2년 전 조회 983
jQuery 2년 전 조회 1,044
JavaScript 2년 전 조회 888
기타 2년 전 조회 1,403
기타 2년 전 조회 1,138
PHP 2년 전 조회 1,485
JavaScript 2년 전 조회 2,268
JavaScript 2년 전 조회 1,153
JavaScript 2년 전 조회 1,329
JavaScript
[JavaScript]
2년 전 조회 963
PHP 2년 전 조회 1,082
PHP 2년 전 조회 1,163
JavaScript 2년 전 조회 1,196
2년 전 조회 1,657
2년 전 조회 1,884
2년 전 조회 1,557
2년 전 조회 2,058
2년 전 조회 2,039
2년 전 조회 1,759
2년 전 조회 2,080
2년 전 조회 1,486
2년 전 조회 2,154
JavaScript 3년 전 조회 1,976
3년 전 조회 1,756
2년 전 조회 1,681
2년 전 조회 1,805