Reactjs Laravel-React已被CORS政策阻止

Reactjs Laravel-React已被CORS政策阻止,reactjs,laravel,apache,progressive-web-apps,Reactjs,Laravel,Apache,Progressive Web Apps,我用Laravel构建了一个API,并将其上传到Linux共享主机,当我想在我的React SPA中使用API时。它工作得很好,但这一次我将API Laravel源代码上传到我域文件夹中的Centos服务器上,当我想用React SPA连接API时,Chrome说: 已被CORS策略阻止:对飞行前请求的响应未通过>访问控制检查:>请求的资源上不存在“访问控制允许来源”标题 当我将这些代码添加到htaccess时: Header always add Access-Control-Allow-Or

我用Laravel构建了一个API,并将其上传到Linux共享主机,当我想在我的React SPA中使用API时。它工作得很好,但这一次我将API Laravel源代码上传到我域文件夹中的Centos服务器上,当我想用React SPA连接API时,Chrome说:


已被CORS策略阻止:对飞行前请求的响应未通过>访问控制检查:>请求的资源上不存在“访问控制允许来源”标题

当我将这些代码添加到htaccess时:

Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header always add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
错误更改为:


对飞行前请求的响应未通过访问控制检查:未通过 具有HTTP ok状态

我已经安装了 在拉雷维尔


SPA域:
web.example.com
API域:
example.com/test

我通过将API域更改为主域来测试它

我在Centos中激活了
mod_标题



我在我的一个项目中进行了以下工作:

在app/Http/Kernel.php中:

'cors'=>\Barryvdh\cors\HandleCors::class,

在路线上:

// Auth Endpoints
Route::group([
    'middleware' => 'cors',
    'prefix' => 'api'
], function ($router) {
    Route::post('example', 'Auth\ExampleController');
});
在cors/config.php中:


<?php
return [
    /*
    |--------------------------------------------------------------------------
    | Laravel CORS
    |--------------------------------------------------------------------------
    |
    | allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
    | to accept any value.
    |
    */
    'supportsCredentials' => false,
    'allowedOrigins' => ['*'],
    'allowedOriginsPatterns' => [],
    'allowedHeaders' => ['Content-Type', 'X-Requested-With'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,
];


你在app/Http/Kernel.phpyes中添加了中间件吗?我将其添加到中间件内核的api部分,实际上它在我的共享主机上工作。你可以添加一个示例api调用URL吗?example.com/laravelapi/loign example.com/laravelapi是api调用的主域“对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。”-那么它有什么状态?调查它为什么有这种状态。然后你就会知道需要修复什么

<?php
return [
    /*
    |--------------------------------------------------------------------------
    | Laravel CORS
    |--------------------------------------------------------------------------
    |
    | allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
    | to accept any value.
    |
    */
    'supportsCredentials' => false,
    'allowedOrigins' => ['*'],
    'allowedOriginsPatterns' => [],
    'allowedHeaders' => ['Content-Type', 'X-Requested-With'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,
];