Laravel 5.1 で CORS を有効にする
Laravel 5.1 で Cross-Origin Resource Sharing (CORS) を有効にするには、ミドルウェアを利用できます。カスタム ミドルウェアを使用して CORS を実装するための包括的なガイドは次のとおりです。
アプリ内にファイル CORS.php を作成します。 /Http/Middleware ディレクトリ。このファイルに次のコードを追加します:
<?php namespace App\Http\Middleware; use Closure; class CORS { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { header("Access-Control-Allow-Origin: *"); // ALLOW OPTIONS METHOD $headers = [ 'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE', 'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin' ]; if ($request->getMethod() == "OPTIONS") { // The client-side application can set only headers allowed in Access-Control-Allow-Headers return Response::make('OK', 200, $headers); } $response = $next($request); foreach ($headers as $key => $value) $response->header($key, $value); return $response; } }
app/Http/Kernel.php ファイルで、次のコードを $routeMiddleware に追加しますarray:
'cors' => \App\Http\Middleware\CORS::class,
これで、ルートで cors ミドルウェアを使用できるようになりました。例:
Route::get('example', ['middleware' => 'cors', 'uses' => 'ExampleController@dummy']);
これらの変更を追加すると、指定されたルートに対して CORS が有効になり、任意のドメインからのクロスオリジン リクエストが許可されます。
以上がミドルウェアを使用してLaravel 5.1でCORSを有効にする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。