Php 如何在Laravel中启用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

我在拉威尔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-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]