>PHP 프레임워크 >ThinkPHP >기사에서는 thinkphp6이 글로벌 미들웨어를 통해 도메인 간 문제를 어떻게 해결하는지 자세히 설명합니다.

기사에서는 thinkphp6이 글로벌 미들웨어를 통해 도메인 간 문제를 어떻게 해결하는지 자세히 설명합니다.

藏色散人
藏色散人앞으로
2021-09-19 16:49:574740검색

다음 thinkphp 프레임워크 튜토리얼 칼럼에서는 thinkphp6이 글로벌 미들웨어를 통해 도메인 간 문제를 해결하는 방법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

tp6는 글로벌 미들웨어를 통해 크로스 도메인 문제를 해결합니다

tp6 공식 홈페이지에서는 크로스 도메인 해결 방법을 제공하지만 직접 사용하는 경우에는 사용할 수 없습니다. (제 자세가 잘못된 것일 수도 있습니다.)

프런트 엔드는 Hbuildert에서 Ajax 요청을 보내고 크로스 도메인이 발생합니다.

요청 받기: 백그라운드 설정을 통해 해결할 수 있습니다.
'Access-Control-Allow-Origin: *'。
게시물 요청: OPTIONS 요청이 발생합니다. Ajax 요청에 헤더 정보를 추가합니다.
header:{
    'Content-Type':'application/x-www-form-urlencoded'
}

미들웨어 정의

<?php declare (strict_types = 1);

namespace app\middleware;
use think\Response;

/**
 * 全局跨域请求处理
 * Class CrossDomain
 * @package app\middleware
 */

class CrossDomain
{
    public function handle($request, \Closure $next)
    {
        header(&#39;Access-Control-Allow-Origin: *&#39;);
        header(&#39;Access-Control-Max-Age: 1800&#39;);
        header(&#39;Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE&#39;);
        header(&#39;Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-CSRF-TOKEN, X-Requested-With, Token&#39;);
        if (strtoupper($request->method()) == "OPTIONS") {
            return Response::create()->send();
        }

        return $next($request);
    }
}

middleware.php

기사에서는 thinkphp6이 글로벌 미들웨어를 통해 도메인 간 문제를 어떻게 해결하는지 자세히 설명합니다.

에서 정의한 미들웨어를 추가하세요. 그러면 여러 도메인에서 작동합니다!

위 내용은 기사에서는 thinkphp6이 글로벌 미들웨어를 통해 도메인 간 문제를 어떻게 해결하는지 자세히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제