> 백엔드 개발 > PHP 튜토리얼 > jQuery 및 PHP를 사용하는 JSONP는 원본 간 요청 문제를 어떻게 해결할 수 있나요?

jQuery 및 PHP를 사용하는 JSONP는 원본 간 요청 문제를 어떻게 해결할 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-08 07:13:14
원래의
659명이 탐색했습니다.

How Can JSONP with jQuery and PHP Solve Cross-Origin Request Issues?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿