2 回答
TA贡献1808条经验 获得超4个赞
最简单的解决方案 转到 bootstrap 文件夹并打开 app.php 文件。然后只需在文件顶部添加这些行。应用程序.php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: *');
header('Access-Control-Allow-Headers: *');
另一个解决方案:
php artisan make:middleware Cors
现在从 App\Http\Middleware 文件夹中打开 Cors.php 并用以下代码替换 handle() 函数:
Cors.php
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE,
OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Authorizations');
}
最后,从 App\Http 文件夹中打开 Kernel.php,将以下行添加到 $middleware 数组中:
protected $middleware = [
...
\App\Http\Middleware\Cors::class,
];
现在运行应用程序并从任何地方调用 API。
TA贡献1895条经验 获得超7个赞
需要 composer.json 中的fruitcake/laravel-cors 包并更新您的依赖项:
composer require fruitcake/laravel-cors
全球使用
要允许所有路由使用 CORS,请在app/Http/Kernel.php类的 $middleware 属性中添加 HandleCors 中间件:
protected $middleware = [
// ...
\Fruitcake\Cors\HandleCors::class,
];
配置
php artisan vendor:publish --tag="cors"
现在更新配置以定义要在其上运行 CORS 服务的路径(请参阅下面的配置):
配置/cors.php
'paths' => ['api/*'],
更多细节https://github.com/fruitcake/laravel-cors
- 2 回答
- 0 关注
- 156 浏览
添加回答
举报