JSONP를 사용한 교차 출처 요청: 간단한 jQuery, PHP 예제
동일 출처 정책에 의해 부과된 제한 사항을 처리할 때, JSONP는 교차 출처 요청에 대한 효과적인 솔루션으로 등장합니다. 이 기술을 사용하면 잠재적인 보안 취약성을 피하면서 외부 소스에서 데이터를 검색할 수 있습니다.
jQuery 및 JSONP
jQuery를 사용하여 JSONP 요청을 시작하려면 다음을 사용할 수 있습니다. $.getJSON 메소드. 이 메소드는 다음 코드 조각에 설명된 대로 자동으로 JSONP 요청을 트리거합니다.
$.getJSON('http://www.example.com/jsonp.php', {firstname: 'Jeff'}, function(res) { alert('Your name is ' + res.fullname); });
PHP 및 JSONP
서버 측에서는 PHP가 엔드포인트 역할을 합니다. JSONP 요청을 처리하기 위한 것입니다. $.getJSON 메서드는 URL 쿼리 문자열에 콜백 매개변수를 추가하며, 이는 나중에 PHP 스크립트에 의해 처리됩니다. 스크립트는 다음과 같이 콜백 함수에 래핑된 응답을 반환합니다.
<?php $fname = $_GET['firstname']; if ($fname == 'Jeff') { echo $_GET['callback'] . '(' . "{'fullname': 'Jeff Hansen'}" . ')'; } ?>
응답을 작성할 때 $_GET['callback'] 사용과 적절한 JSONP 구문에 유의하세요. 이렇게 하면 클라이언트가 제공하는 콜백 함수가 응답을 캡슐화하는 데 사용됩니다.
HTML 결과 처리
제공된 예는 주로 JSON 데이터의 교환을 보여주지만, JSONP를 사용하여 HTML 콘텐츠를 전송할 수도 있다는 점은 주목할 가치가 있습니다. 이를 수용하려면 PHP 스크립트가 콜백 함수에 HTML을 래핑하여 응답으로 보내도록 하면 됩니다. 그러면 클라이언트측 JavaScript가 필요에 따라 HTML을 구문 분석하고 렌더링할 수 있습니다.
위 내용은 jQuery와 PHP는 어떻게 JSONP를 사용하여 Cross-Origin 요청을 촉진할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!