Rumah > rangka kerja php > ThinkPHP > 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

藏色散人
Lepaskan: 2021-09-19 16:49:57
ke hadapan
4747 orang telah melayarinya

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: *'。
Salin selepas log masuk
permintaan pos: permintaan OPTIONS akan berlaku. Tambahkan maklumat pengepala pada permintaan ajax.
header:{
    'Content-Type':'application/x-www-form-urlencoded'
}
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk

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!

Label berkaitan:
php
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan