Laravel cors 'Access-Control-Allow-Origin' 和 'Access-Control-Allow-Headers'

Posted

技术标签:

【中文标题】Laravel cors \'Access-Control-Allow-Origin\' 和 \'Access-Control-Allow-Headers\'【英文标题】: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。

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

【问题讨论】:

【参考方案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 后它确实有效。谢谢 :)

以上是关于Laravel cors 'Access-Control-Allow-Origin' 和 'Access-Control-Allow-Headers'的主要内容,如果未能解决你的问题,请参考以下文章

CORS(跨站资源共享)介绍

没有响应头 Access-Control-Allow-Origin 时允许 CORS

laravel cors“类cors不存在”错误

http头部字段access

带有分组前缀的 nuxt 的 Laravel 7 cors 问题

laravel cors“类cors不存在”错误