【问题标题】:Laravel Cors Access-Control-Allow-OriginLaravel Cors 访问控制允许来源
【发布时间】:2019-02-09 20:03:48
【问题描述】:

突然收到以下警报

跨域读取阻止 (CORB) 阻止了 MIME 类型为 text/html 的跨域响应 http://traxit-backend.test/api/register。详情请见https://www.chromestatus.com/feature/5629709824032768

无法加载http://traxit-backend.test/api/register:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8080' 因此不允许访问。

OPTIONS http://traxit-backend.test/api/register 500(内部服务器错误)

我的配置运行良好,但今天才开始起作用。我不确定我是否需要做点什么。尝试了我在互联网上读到的不同的东西,但没有运气

kernal.php 文件

protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
        \Barryvdh\Cors\HandleCors::class,
    ];

cors.php 文件

  'supportsCredentials' => false,
    'allowedOrigins' => ['*'],
    'allowedOriginsPatterns' => [],
    'allowedHeaders' => ['*'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,

];

我在前端使用带有 axios 的 vuejs。使用 laravel 护照获取访问令牌。

【问题讨论】:

    标签: php laravel vue.js axios


    【解决方案1】:

    添加了 'allowedHeaders' => ['Access-Control-Allow-Origin', '*'],

    不确定发生了什么变化,但它已修复

    'supportsCredentials' => false,
        'allowedOrigins' => ['*'],
        'allowedOriginsPatterns' => [],
        'allowedHeaders' => ['Access-Control-Allow-Origin', '*'],
        'allowedMethods' => ['*'],
        'exposedHeaders' => [],
        'maxAge' => 0,
    
    ];
    

    【讨论】:

    • 该修复表明某些前端 JavaScript 代码正在向请求中添加 Access-Control-Allow-Origin 标头。因此,真正的解决方案是修复该前端代码以退出向请求添加 Access-Control-Allow-Origin 标头。因为 Access-Control-Allow-Origin 是响应头
    猜你喜欢
    • 2016-12-09
    • 2020-08-16
    • 2019-05-28
    • 2016-06-02
    • 2016-03-31
    • 2021-09-07
    • 2016-06-27
    • 2016-12-10
    • 1970-01-01
    相关资源
    最近更新 更多