Rumah  >  Artikel  >  rangka kerja php  >  Sebuah artikel menerangkan secara terperinci cara thinkphp6 menyelesaikan masalah merentas domain melalui perisian tengah global

Sebuah artikel menerangkan secara terperinci cara thinkphp6 menyelesaikan masalah merentas domain melalui perisian tengah global

藏色散人
藏色散人ke hadapan
2021-09-19 16:49:574699semak imbas

Lajur tutorial thinkphp berikut akan memperkenalkan kepada anda cara thinkphp6 menyelesaikan masalah merentas domain melalui perisian tengah global, saya harap ia dapat membantu rakan yang memerlukan.

tp6 menyelesaikan masalah merentas domain melalui middleware global

tapak web rasmi tp6 menyediakan kaedah resolusi merentas domain, tetapi ia tidak boleh digunakan apabila saya menggunakannya secara langsung. (Mungkin postur saya salah).

Hujung hadapan menghantar permintaan ajax dalam Hbuildert dan merentas domain berlaku.

dapatkan permintaan: boleh diselesaikan melalui tetapan latar belakang.
'Access-Control-Allow-Origin: *'。
permintaan pos: permintaan OPTIONS akan berlaku. Tambahkan maklumat pengepala pada permintaan ajax.
header:{
    'Content-Type':'application/x-www-form-urlencoded'
}

Takrifkan middleware

<?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);
    }
}

Tambah middleware yang kami takrifkan dalam middleware.php

Sebuah artikel menerangkan secara terperinci cara thinkphp6 menyelesaikan masalah merentas domain melalui perisian tengah global

Kemudian merentas domain akan berfungsi!

Atas ialah kandungan terperinci Sebuah artikel menerangkan secara terperinci cara thinkphp6 menyelesaikan masalah merentas domain melalui perisian tengah global. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam