被 CORS 政策阻止并没有解决! Laravel + Vuejs
Posted
技术标签:
【中文标题】被 CORS 政策阻止并没有解决! Laravel + Vuejs【英文标题】:Blocked by CORS policy is not solving! Laravel + Vuejs 【发布时间】:2020-11-15 08:35:09 【问题描述】:访问 XMLHttpRequest 在 'http://phplaravel-421708-1325291.cloudwaysapps.com/api/data/testimonials' 来自原产地“http://localhost:8000”已被 CORS 政策阻止: 请求中不存在“Access-Control-Allow-Origin”标头 资源。
我正在使用 Laravel 和 Vuejs。
出现上述错误!!
我已经安装了这个包:https://github.com/spatie/laravel-cors#laravel
我在“创建自己的 CORS 配置文件”之前做过
在 bootstrap/app.php 中
我加了
header('Access-Control-Allow-Origin', '*');
header('Access-Control-Allow-Methods', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS');
header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
但问题仍然存在....我现在必须做什么?
还创建了middleware
public function handle($request, Closure $next)
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
在Kernel.php
注册。但是没有什么对我有用!
【问题讨论】:
【参考方案1】:确保您在$middlewareGroups
中注册您的中间件Kernel
然后尝试将它们添加到您的中间件
$headers = [
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
'Access-Control-Allow-Credentials' => 'true',
'Access-Control-Max-Age' => '86400',
'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With',
];
if ($request->isMethod('OPTIONS'))
return response()->json('"method":"OPTIONS"', 200, $headers);
$response = $next($request);
foreach ($headers as $key => $value)
$response->header($key, $value);
return $response;
【讨论】:
以上是关于被 CORS 政策阻止并没有解决! Laravel + Vuejs的主要内容,如果未能解决你的问题,请参考以下文章
当我尝试使用 Axios 调用 Instagram API 时,我“被 CORS 政策阻止” [重复]
如何修复“评估已被 CORS 政策阻止:反应中没有“访问控制允许来源”
Cors 政策问题 Laravel youtube apache
被 CORS 政策阻止 - React - MangoPay
Laravel 7 CORS:被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”