1. Header-Klasse
Im thinkphp-Framework können Sie die Header-Klasse verwenden, um den Antwortheader festzulegen und die Funktion domänenübergreifender Anforderungen zu erreichen. Die spezifische Methode besteht darin, der Controller-Methode den folgenden Code hinzuzufügen:
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
Unter anderem bedeutet die erste Codezeile, dass domänenübergreifende Anforderungen aus allen Quellen zugelassen werden, oder sie kann auf eine bestimmte Quelle festgelegt werden ; Die zweite Codezeile bedeutet, dass von domänenübergreifenden Anforderungen übertragene Anforderungsheaderinformationen zugelassen werden. Nachdem Sie dies eingerichtet haben, können Sie grundlegende domänenübergreifende Anforderungen implementieren.
2. Bibliotheken von Drittanbietern
Zusätzlich zur Verwendung der Header-Klasse zum Einrichten domänenübergreifender Anforderungen können Sie auch Drittanbieter verwenden -Party-Bibliotheken, um diesen Prozess zu vereinfachen. Im Folgenden wird die Cors-Erweiterung der gängigen CORS-Bibliothek (Cross-Origin Resource Sharing) als Beispiel verwendet, um vorzustellen, wie eine Bibliothek eines Drittanbieters zum Implementieren domänenübergreifender Anforderungen verwendet wird.
Cors-Erweiterung installieren
Öffnen Sie das Befehlszeilenfenster und führen Sie den folgenden Befehl aus:
composer require topthink/think-cors
<?php return [ // 允许的请求域名 'allow_origin' => ['*'], // 允许的请求头信息 'allow_headers' => 'Origin, X-Requested-With, Content-Type, Accept', // 允许的请求方法 'allow_methods' => 'GET, POST, PUT, DELETE, PATCH', // 是否允许发送cookie 'allow_credentials' => true, // 跨域请求缓存时间 'max_age' => 3600, ];
Darunter stellt $allow_origin den zulässigen Anforderungsdomänennamen dar, der auf einen bestimmten Domänennamen oder das Platzhalterzeichen „*“ festgelegt werden kann; $allow_headers stellt die zulässigen Anforderungsheaderinformationen dar, und $allow_methods stellt die zulässigen Anfragemethoden dar, $allow_credentials gibt an, ob Cookies gesendet werden dürfen, $max_age gibt die domänenübergreifende Cache-Zeit für Anfragen an.
return [ // ... 'middleware' => [ // ... \think\middleware\Cors::class, ], ];
use think\facade\Cors; public function index() { Cors::allowAllOrigin(); return json(['code' => 200, 'msg' => 'success']); }
Nachdem Sie diese Einstellung vorgenommen haben, können Sie domänenübergreifende Anfragen realisieren.
Das obige ist der detaillierte Inhalt vonWie thinkphp domänenübergreifende Anfragen abschließt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!