跳到主內容

Laravel_解決CORS錯誤

已封鎖跨來源請求: 同源政策不允許讀取 http://192.168.1.1/api/XXXXXX 的遠端資源。(原因: 缺少 CORS 'Access-Control-Allow-Origin' 檔頭)

建立 app/Http/Middleware/Cors.php

<?php

namespace App\Http\Middleware;

use Closure;

class Cors{
    public function handle($request, Closure $next)
    {
        return $next($request)->header('Access-Control-Allow-Origin', '*')
        ->header('Access-Control-Allow-Methods', '*')
        ->header('Access-Control-Allow-Headers', 'Origin, Methods, Content-Type, Authorization')
        ->header('Access-Control-Allow-Credentials', true);
    }

}

app/Http/Kenek.php

protected $routeMiddleware = [
      //加入
        'cors' => \App\Http\Middleware\Cors::class,
    ];
protected $middlewarePriority = [
      //加入
        \App\Http\Middleware\Cors::class
    ];

路由加入middle ware

routes/api.php

Route::group(['middleware' => 'cors'],function(){
    Route::match(['get','post'],'test/TestApi','TestController@TestApi');
});