【问题标题】:Laravel POST request Cors No 'Access-Control-Allow-Origin'Laravel POST 请求 Cors No 'Access-Control-Allow-Origin'
【发布时间】:2019-08-02 13:00:47
【问题描述】:

当我尝试 POST 到给定的 url 时,当前收到一条错误消息。 GET 在同一个域上工作正常这是我的错误:

在“http://localhost:8000/api/users/login”访问 XMLHttpRequest 来自原点“http://localhost:8080”已被 CORS 策略阻止: 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。

我发现无数个问题都记录了同样的问题,所有这些问题都是修改我的 Cors 中间件的变体。

目前我的 CORS 中间件如下所示:

class Cors
{
    public function handle($request, Closure $next)
    {
        if ($request->isMethod('OPTIONS')) {
            $response = Response::make();
        } else {
            $response = $next($request);
        }
        return $response
            ->header('Access-Control-Allow-Origin', '*')
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
            ->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application');
    }
}

错误状态没有'Access-Control-Allow-Origin',我相信我的->header('Access-Control-Allow-Origin', '*') 应该处理它,因为根据我的理解,* 是一个通配符。我在这里错过了一个不同的问题吗? Stack 是 Laravel 后端和 VueJS 前端,如果相关的话,使用 Axios 处理 HTTP 请求。

编辑:这个问题是独一无二的,因为我已经在大多数答案中特别建议了标题:

->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')

我仍然收到错误。

【问题讨论】:

标签: php laravel vue.js cors axios


【解决方案1】:

这里有两个包可以帮助你在 Laravel 中处理 CORS,你可以选择一个


  1. https://github.com/barryvdh/laravel-cors
  2. https://github.com/spatie/laravel-cors

【讨论】:

  • 目前正在查看 barrvdh 包。如果这解决了问题并且没有人发布有关如何修复我当前实现的答案,我会接受这个答案。
  • github.com/barryvdh/laravel-cors 成功了。谢谢你的建议。
猜你喜欢
  • 2016-09-30
  • 2021-08-12
  • 1970-01-01
  • 2013-12-09
  • 2017-12-29
  • 2015-09-19
  • 2019-10-02
  • 2021-12-05
  • 2021-01-13
相关资源
最近更新 更多