1. 헤더 클래스
thinkphp 프레임워크에서는 헤더 클래스를 사용하여 도메인 간 요청 기능을 구현하는 응답 헤더를 설정할 수 있습니다. 구체적인 방법은 컨트롤러 메소드에 다음 코드를 추가하는 것입니다.
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
그 중 첫 번째 코드 줄은 모든 소스의 도메인 간 요청이 허용됨을 나타내며 두 번째 줄은 특정 소스로 설정할 수도 있습니다. 코드는 교차 도메인 요청에 의해 전달되는 요청이 허용됨을 나타냅니다. 이를 설정한 후에는 기본적인 교차 도메인 요청을 구현할 수 있습니다.
2. 타사 라이브러리
Header 클래스를 사용하여 도메인 간 요청을 설정하는 것 외에도 타사 라이브러리를 사용하여 이 프로세스를 단순화할 수도 있습니다. 다음은 주류 CORS(Cross-Origin Resource Sharing) 라이브러리 cors 확장을 예로 들어 타사 라이브러리를 사용하여 도메인 간 요청을 구현하는 방법을 소개합니다.
cors 확장 설치
명령줄 창을 열고 다음 명령을 실행합니다:
composer require topthink/think-cors
Configure cors Extension
프로젝트의 config 폴더에 cors.php 파일을 생성하고 다음을 입력합니다. 다음 코드 :
<?php return [ // 允许的请求域名 'allow_origin' => ['*'], // 允许的请求头信息 'allow_headers' => 'Origin, X-Requested-With, Content-Type, Accept', // 允许的请求方法 'allow_methods' => 'GET, POST, PUT, DELETE, PATCH', // 是否允许发送cookie 'allow_credentials' => true, // 跨域请求缓存时间 'max_age' => 3600, ];
그 중 $allow_origin은 허용된 요청 도메인 이름을 나타내며, 특정 도메인 이름으로 설정할 수 있거나 와일드카드 문자 "*"는 $allow_headers가 허용된 요청 헤더 정보를 나타내고, $allow_methods는 허용된 요청 도메인 이름을 나타냅니다. $allow_credentials는 쿠키 전송 허용 여부를 나타내며, $max_age는 도메인 간 요청 캐시 시간을 나타냅니다.
구성 파일 수정
프로젝트의 config 폴더에서 app.php 파일을 찾으면 구성은 다음과 같습니다.
return [ // ... 'middleware' => [ // ... \think\middleware\Cors::class, ], ];
Call cors 확장
컨트롤러 메소드에서 는 교차 도메인 요청이 필요하므로 cors 확장의 메소드를 직접 호출하여 교차 도메인 요청 설정을 실현할 수 있습니다.
use think\facade\Cors; public function index() { Cors::allowAllOrigin(); return json(['code' => 200, 'msg' => 'success']); }
이런 방식으로 설정한 후에는 교차 도메인 요청을 실현할 수 있습니다.
위 내용은 thinkphp가 도메인 간 요청을 완료하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!