React应用程序和Laravel API的CORS问题

我有一个React应用程序,它位于http://localhost:3000/
Laravel API位于http://localhost/blog/public/api/
我得到以下错误

在’http://localhost/blog/public/api/auth/signin“起源”http://localhost:3000’已被CORS策略阻止:请求的资源上不存在’Access Control Allow Origin’标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源

以下是响应标题:-

我试着通过htaccess,
https://packagist.org/packages/barryvdh/laravel-cors

以下解决方案应解决Laravel中与CORS相关的问题。

步骤1:创建新的中间件

“Php artisan make:中间件cors”

第二步:

将下面的放在创建的中间位置以替换handle方法

公共函数句柄($request,Closure$next){
返回$next($request)
->标题(’Access-Control-Allow-Origin’,’*’))
->标题(’Access-Control-Allow-Methods’、’GET、POST、PUT、DELETE、OPTIONS’)
->标题(’Access-Control-Allow-Headers’,’Origin,Content-Type,Accept,Authorization,X-Request-With’)
->标题(’Access-Control-Allow-Credentials’,’true’);
}

第三步:

然后转到Kernel.php文件并将其添加到应用程序的全局HTTP中间件堆栈下

p、 只添加了带有注释的最后一行,其他行之前存在

受保护的$middleware=[
\Illumb\Foundation\Http\Middleware\CheckFormIntenanceMode::class,
\Illumb\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illumb\Foundation\Http\Middleware\ConvertEmptyStringsToull::class,
\App\Http\Middleware\TrustProxies::类,
\App\Http\Middleware\Cors::class,//此处添加了Cors
];

享受吧

发表评论