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'的主要内容,如果未能解决你的问题,请参考以下文章
没有响应头 Access-Control-Allow-Origin 时允许 CORS