我有一个奇怪的问题。 我使用laravel作为我的beckend,并且从前端尝试将请求发送到我的API,但是它在另一台服务器上,因此我将laravel-cors用于CORS。
但是我仍然得到Has been blocked by CORS POLICY no access controll allow origin problem
。
我该如何解决这个问题?
谢谢。
答案 0 :(得分:1)
您可以将这两行添加到public / index.php文件中:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
或.. 通过使用中间件的Laravel方式,您可以创建一个中间件名称cors:
php artisan make:middleware Cors
然后将这段代码放入handle方法:
return $next($request)
->header(‘Access-Control-Allow-Origin’, ‘*’)
->header(‘Access-Control-Allow-Methods’, ‘GET, POST, PUT, DELETE, OPTIONS’)
->header(‘Access-Control-Allow-Headers’, ‘X-Requested-With, Content-Type, X-Token-Auth, Authorization’);
将此行添加到app / http / kernel.php文件中的$ routeMiddleware变量中:
‘cors’ => \App\Http\Middleware\Cors::class,
然后在您的路线上使用此中间件:
Route::group(['prefix' => 'api/v.1', 'namespace' => 'API', 'middleware' => 'cors'], function () {
// routes...
});