【问题标题】:Laravel cors 'Access-Control-Allow-Origin' and 'Access-Control-Allow-Headers'Laravel cors 'Access-Control-Allow-Origin' 和 'Access-Control-Allow-Headers'
【发布时间】:2016-09-30 12:11:33
【问题描述】:

我是 Laravel 的新手。

我试过https://github.com/barryvdh/laravel-cors

当我添加时

header('Access-Control-Allow-Origin: *');

在我的 public/index.php 中,它没有在响应中添加 Content-Type。

当我添加时

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, Content-Type');

它不添加 Access-Control-Allow-Origin。

我对在互联网上找到的各种解决方案感到非常困惑。 我应该怎么做呢?

【问题讨论】:

    标签: laravel-5 cors same-origin-policy


    【解决方案1】:

    您可以创建一个新的中间件并将标头添加到响应中:

    运行php artisan make:middleware ModifyHeadersMiddleware

    打开文件ModifyHeadersMiddleware,修改handle()方法:

    public function handle( $request, Closure $next )
    {
        $response = $next( $request );
        $response->header( 'Access-Control-Allow-Origin', '*' );
        $response->header( 'Access-Control-Allow-Headers', 'Origin, Content-Type' );
    
        return $response;
    }
    

    打开 app/Http/Kernel.php 并在 protected $middleware 数组中添加 ModifyHeadersMiddleware 类。

    【讨论】:

    • 它给出“预检响应具有无效的 HTTP 状态代码 500”
    • 我的代码有错误,能否复制一下handle方法再试一次?
    • 不。它说“请求的资源上不存在‘Access-Control-Allow-Origin’标头。”现在。
    • 将我的 php 从 5.6 更新到 7 后它确实有效。谢谢 :)
    猜你喜欢
    • 2015-06-17
    • 2019-02-07
    • 2015-09-19
    • 2019-08-02
    • 2020-02-26
    • 2017-11-24
    • 2017-06-15
    • 2018-03-05
    • 2016-09-20
    相关资源
    最近更新 更多