ホームページ > バックエンド開発 > PHPチュートリアル > Laravel 5.1でCORSを有効にする方法は?

Laravel 5.1でCORSを有効にする方法は?

DDD
リリース: 2024-12-07 17:41:11
オリジナル
732 人が閲覧しました

How to Enable CORS in Laravel 5.1?

Laravel 5.1 で CORS を有効にする方法

CORS (Cross-Origin Resource Sharing) を Laravel に統合すると、サーバーはクロスオリジンリソース共有の許可を与えることができます。オリジン API 呼び出し。この記事では、Laravel バージョン 5.1 で CORS を有効にする具体的な方法について説明します。

Laravel 用 CORS ミドルウェア

// app/Http/Middleware/CORS.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;
    }

}
ログイン後にコピー

CORS ミドルウェアを登録する

ミドルウェアを作成したら、ミドルウェアをapp/Http/Kernel.php ファイル:

// app/Http/Kernel.php

protected $routeMiddleware = [
        //other middlewares
        'cors' => 'App\Http\Middleware\CORS',
    ];
ログイン後にコピー

ルートに CORS を適用します

最後に、クロスを許可するルートで CORS ミドルウェアを使用します。オリジン API 呼び出し:

Route::get('example', array('middleware' => 'cors', 'uses' => 'ExampleController@dummy'));
ログイン後にコピー

Laravel に関するメモ^8.0

Laravel バージョン 8.0 以降では、名前空間の変更のため、次の構文を使用して CORS ミドルウェアを登録することが重要です:

// app/Http/Kernel.php

protected $routeMiddleware = [
        //other middlewares
        'cors' => 'App\Http\Middleware\CORS',
    ];

// routes/web.php or routes/api.php

use App\Http\Controllers\ExampleController;

Route::get('example', [ExampleController::class, 'dummy'])->middleware('cors');
ログイン後にコピー

以上がLaravel 5.1でCORSを有効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート