Php 如何在Laravel中启用CORS?
我在拉威尔5.8-我一直得到这个CORS问题 我试过了Php 如何在Laravel中启用CORS?,php,laravel,laravel-5,cors,laravel-5.8,Php,Laravel,Laravel 5,Cors,Laravel 5.8,我在拉威尔5.8-我一直得到这个CORS问题 我试过了 php artisan make:middleware Cors 添加这些代码 <?php namespace App\Http\Middleware; use Closure; class Cors { public function handle($request, Closure $next) { return $next($request) ->header(‘Access-Control
php artisan make:middleware Cors
添加这些代码
<?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’, ‘GET, POST, PUT, DELETE, OPTIONS’)
->header(‘Access-Control-Allow-Headers’, ‘X-Requested-With, Content-Type, X-Token-Auth, Authorization’);
}
}
刷新站点,转到控制台,仍然可以看到相同的CORS问题
如何进一步进行调试?尝试使用Laravel中间件配置发送跨源资源共享头的软件包。第一个解决方案
尝试将CORS中间件设置为全局中间件
CORS中间件中的handle函数
:
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, Authorization');
}
要全局添加此中间件,请转到App\Http\Kernel
,并在$middleware
数组中添加此行:
\App\Http\Middleware\Cors::class,
第二种解决方案
您还可以在bootstrap/app.php
header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
希望它能起作用 向您添加下面的.htaccess(只需添加到目标站点和源站点)
希望它能节省别人的时间,快乐编码 您是否已将中间件应用于routes文件中的路由?将其放在$middleware中,而不是$routeMiddleware中,该中间件在对应用程序的每个请求期间运行。我遇到了相同的问题,并且该软件包没有为我这样做,但确实如此。(我已经在bootstrap/app.php中手动添加了头文件,并在postman中看到了这些头文件,但仍然不起作用。)(((()它给出的头文件()最多需要3个参数,7个givei我把这行放在这些文件的底部,缓存被清除,但块仍然存在。)
header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]