s

JSONP실례

· 2년 전 · 1108

서버 측(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년 전 조회 1,024
JavaScript 2년 전 조회 1,714
PHP 2년 전 조회 1,136
JavaScript 2년 전 조회 988
PHP 2년 전 조회 1,011
jQuery 2년 전 조회 1,071
JavaScript 2년 전 조회 919
기타 2년 전 조회 1,430
기타 2년 전 조회 1,176
PHP 2년 전 조회 1,518
JavaScript 2년 전 조회 2,303
JavaScript 2년 전 조회 1,184
JavaScript 2년 전 조회 1,353
JavaScript
[JavaScript]
2년 전 조회 987
PHP 2년 전 조회 1,109
PHP 2년 전 조회 1,181
JavaScript 2년 전 조회 1,229
2년 전 조회 1,683
2년 전 조회 1,912
2년 전 조회 1,583
2년 전 조회 2,086
2년 전 조회 2,060
2년 전 조회 1,786
2년 전 조회 2,102
2년 전 조회 1,514
2년 전 조회 2,186
JavaScript 3년 전 조회 2,021
3년 전 조회 1,794
3년 전 조회 1,706
2년 전 조회 1,840