1. Classe Header
Dans le framework thinkphp, vous pouvez utiliser la classe Header pour définir l'en-tête de réponse afin d'implémenter les fonctions de requête inter-domaines. La méthode spécifique consiste à ajouter le code suivant à la méthode du contrôleur :
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
Parmi eux, la première ligne de code indique que les requêtes inter-domaines provenant de toutes les sources sont autorisées, et peuvent également être définies sur une source spécifique ; du code indique que les requêtes portées par les requêtes inter-domaines sont autorisées. Après avoir configuré cela, vous pouvez implémenter des requêtes inter-domaines de base.
2. Bibliothèques tierces
En plus d'utiliser la classe Header pour configurer des requêtes inter-domaines, vous pouvez également utiliser des bibliothèques tierces pour simplifier ce processus. Ce qui suit prend l'extension cors de la bibliothèque CORS (Cross-Origin Resource Sharing) grand public comme exemple pour présenter comment utiliser une bibliothèque tierce pour implémenter des requêtes inter-domaines.
Installer l'extension cors
Ouvrez la fenêtre de ligne de commande et exécutez la commande suivante :
composer require topthink/think-cors
Configurer l'extension cors
Dans le dossier de configuration du projet, créez un fichier cors.php et entrez le code suivant:
<?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, ];
Parmi eux, $allow_origin représente le nom de domaine de demande autorisé, qui peut être défini sur un nom de domaine spécifique ou le caractère générique "*" $allow_headers représente les informations d'en-tête de demande autorisées, $allow_methods représente les informations autorisées méthodes de requête, et $allow_credentials représente s'il faut autoriser l'envoi de cookies, $max_age indique le temps de cache des requêtes inter-domaines.
Modifier le fichier de configuration
Dans le dossier config du projet, recherchez le fichier app.php, la configuration est la suivante :
return [ // ... 'middleware' => [ // ... \think\middleware\Cors::class, ], ];
Appeler l'extension cors
Dans la méthode du contrôleur qui nécessite des requêtes inter-domaines , vous pouvez appeler directement la méthode dans l'extension cors pour réaliser le paramétrage des requêtes inter-domaines :
use think\facade\Cors; public function index() { Cors::allowAllOrigin(); return json(['code' => 200, 'msg' => 'success']); }
Après avoir configuré de cette manière, vous pouvez réaliser des requêtes inter-domaines.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!