Heim > PHP-Framework > Denken Sie an PHP > Ein Artikel erklärt ausführlich, wie thinkphp6 domänenübergreifende Probleme durch globale Middleware löst

Ein Artikel erklärt ausführlich, wie thinkphp6 domänenübergreifende Probleme durch globale Middleware löst

藏色散人
Freigeben: 2021-09-19 16:49:57
nach vorne
4747 Leute haben es durchsucht

Die folgende thinkphp-Frameworktutorial-Kolumne stellt Ihnen vor, wie thinkphp6 domänenübergreifende Probleme durch globale Middleware löst. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!

tp6 löst domänenübergreifende Probleme durch globale Middleware.

Die offizielle Website von tp6 bietet eine domänenübergreifende Auflösungsmethode, die jedoch nicht verwendet werden kann, wenn ich sie direkt verwende. (Vielleicht ist meine Haltung falsch).

Das Frontend sendet eine Ajax-Anfrage in Hbuildert und es kommt zu einer domänenübergreifenden Übertragung.

Anfrage abrufen: kann über Hintergrundeinstellungen gelöst werden.
'Access-Control-Allow-Origin: *'。
Nach dem Login kopieren
Post-Anfrage: OPTIONS-Anfrage wird durchgeführt. Fügen Sie der Ajax-Anfrage eine Header-Information hinzu.
header:{
    'Content-Type':'application/x-www-form-urlencoded'
}
Nach dem Login kopieren

Middleware definieren

<?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);
    }
}
Nach dem Login kopieren

Fügen Sie die Middleware hinzu, die wir in middleware.php definiert haben

Ein Artikel erklärt ausführlich, wie thinkphp6 domänenübergreifende Probleme durch globale Middleware löst

Dann funktioniert es domänenübergreifend!

Das obige ist der detaillierte Inhalt vonEin Artikel erklärt ausführlich, wie thinkphp6 domänenübergreifende Probleme durch globale Middleware löst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage