JSONP를 사용한 교차 원본 요청: 간단한 jQuery 및 PHP 예
이 예에서는 교차 문제를 해결합니다. JavaScript와 다른 웹 서버 간의 통신을 허용하는 우아한 기술인 JSONP를 사용하는 원본 요청 도메인.
jQuery 클라이언트에서 PHP 서버로 교차 출처 요청을 보내고 사용자 정의된 응답을 검색한다고 가정해 보겠습니다. 이를 달성하기 위해 jQuery의 $.getJSON 메소드를 사용하여 JSONP 요청을 시작합니다.
jQuery 스크립트:
$.getJSON('http://example.com/jsonp.php?callback=?', 'firstname=Jeff', function(response) { alert('Your name is ' + response.fullname); });
PHP 서버 스크립트:
<?php $firstname = $_GET['firstname']; if ($firstname == 'Jeff') { header('Content-Type: application/json'); echo $_GET['callback'] . '(' . json_encode(['fullname' => 'Jeff Hansen']) . ')'; } ?>
설명:
'?callback=?'이 포함된 URL로 $.getJSON을 호출하면 jQuery가 자동으로 JSONP를 처리합니다. 요구. 서버 측 PHP 스크립트는 jQuery에서 제공하는 콜백과 일치하는 함수 호출에 래핑된 JSON 개체로 응답합니다. 이 경우 콜백은 GET 요청의 첫 번째 매개변수로 전달됩니다.
HTML 응답 처리:
응답에 HTML을 반환하려는 경우 을 사용하면 PHP 스크립트 내에서 JSON 개체 대신 함수를 사용할 수 있습니다.
<?php $firstname = $_GET['firstname']; if ($firstname == 'Jeff') { header('Content-Type: text/html'); echo '<h1>Welcome, Jeff Hansen!</h1>'; } ?>
그리고 jQuery 측에서는 다음을 처리할 수 있습니다. 다음과 같이 응답하세요:
$.getJSON('http://example.com/jsonp.php?callback=?', 'firstname=Jeff', function(response) { $('#container').html(response); });
위 내용은 jQuery 및 PHP를 사용하는 JSONP는 원본 간 요청 문제를 어떻게 해결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!