【问题标题】:'Access-Control-Allow-Origin' between Ionic and LaravelIonic 和 Laravel 之间的“访问控制允许来源”
【发布时间】:2019-01-20 06:20:06
【问题描述】:

我目前正在为网站使用 laravel 框架构建一个 Ionic 应用程序。问题如下:我得到了

请求中没有“Access-Control-Allow-Origin”标头 资源。

当我尝试从我的 API 获取 json 文件时。我看到这是一个头问题,我需要授权Access-Control-Allow-Origin。我做到了 访问控制允许来源:*

当我刷新页面时,我在 Chrome 上看到 F12 菜单:

Response headers
Access-Control-Allow-Origin: *

所以,这意味着访问是经过授权的。但是当我尝试访问链接时

mywebsite.com/api

从应用程序中,我仍然遇到错误请求的资源上没有“Access-Control-Allow-Origin”标头。

如果某些专家知道如何解决此问题。

【问题讨论】:

  • @HCK 我已经尝试过了,但仍然出现同样的问题
  • 你是配置正确还是刚安装好?
  • 我配置正确,但我发现了问题。这是我的 .htaccess 的问题。还是谢谢你!
  • 很高兴您找到了解决方案。 PS:尝试在答案部分分享它,这对其他人也有帮助;)祝你有美好的一天。

标签: laravel ionic-framework http-headers


【解决方案1】:

我从@asamarcos (https://github.com/barryvdh/laravel-cors/issues/243) 找到了这个答案:

您必须按照 laravel-cors 手册中的要求在 Kernel.php 上注册 HandleCors。这将在“api”中间件下的所有路由中添加 cors。

    'api' => [
        'throttle:60,1',
        'bindings',
        \Barryvdh\Cors\HandleCors::class,
    ],

问题是 Passport 在 API 中间件之外有自己的路由。 所以你必须在 AuthServiceProvider 上设置你的护照路由,明确地将 HandleCors 作为中间件:

public function boot()
{
    $this->registerPolicies();

    Passport::routes(null, ['middleware' => [ \Barryvdh\Cors\HandleCors::class ]]);
}

【讨论】:

    【解决方案2】:

    如果有人与我的情况相同,我会发布我的解决方案。问题来自 .htaccess,我有访问域的登录名和密码,它阻止了 ionic 应用程序,只是停用它们(没有其他解决方案有效)。

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 2016-03-31
      • 1970-01-01
      • 2013-10-13
      • 2018-04-12
      • 2019-02-09
      • 2014-02-06
      • 2019-05-28
      • 1970-01-01
      相关资源
      最近更新 更多