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

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

藏色散人
풀어 주다: 2021-09-19 16:49:57
앞으로
4761명이 탐색했습니다.

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

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