>백엔드 개발 >PHP 튜토리얼 >JSONP를 사용하여 도메인 간 JSON 통신을 극복하는 방법은 무엇입니까?

JSONP를 사용하여 도메인 간 JSON 통신을 극복하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-22 14:42:50813검색

How to Overcome Cross-Domain JSON Communication with JSONP?

JSONP: 도메인 간 JSON 통신 활성화

동일 출처 정책으로 인해 도메인 간 JSON 통신이 문제가 됩니다. 이 문제에 대한 솔루션으로 JSONP(JSON with Padding)가 도입되었습니다.

JSONP 콜백 API 생성

JSONP 콜백 API를 생성하려면 다음을 수행해야 합니다.

  1. 콜백 매개변수 허용: GET 요청에서 "콜백" 매개변수를 허용합니다.
  2. 콜백 함수로 데이터 래핑: 서라운드 요청 매개변수에 지정된 콜백 함수를 사용하여 JSON 데이터를 전송합니다.

PHP의 예:

<code class="php"><?php
$data = '{}';

if (array_key_exists('callback', $_GET)) {
    header('Content-Type: text/javascript; charset=utf8');
    header('Access-Control-Allow-Origin: http://www.example.com/');
    $callback = $_GET['callback'];
    echo $callback . '(' . $data . ');';
} else {
    header('Content-Type: application/json; charset=utf8');
    echo $data;
}
?></code>

이 코드는 JSON 데이터를 첫 번째 인수로 사용하여 지정된 콜백 함수.

JSONP 서비스 사용

JSONP 서비스를 사용하려면:

  1. 콜백 함수 정의: JSON 데이터를 처리하는 JavaScript 함수를 만듭니다.
  2. JSONP 서비스 스크립트 포함: