【问题标题】:CORS issue with Laravel 5 api and ionic 1 (Angular 1)Laravel 5 api 和 ionic 1 (Angular 1) 的 CORS 问题
【发布时间】:2018-07-10 18:40:59
【问题描述】:

Angular 1 中的前端应用程序和我的 API 构建在 Laravel 上并位于不同的服务器上,那么我肯定会面临跨域请求共享 (CORS) 问题,并且我的 API 不会返回预期结果。

我遇到了这个问题,根据一些解决方案,我在 Laravel 的 index.php 上添加了一些(以下代码)标题,但我仍然无法解决这个问题。

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: *');

header('Access-Control-Allow-Headers: *');

错误消息:在 chrome 浏览器上,

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8100' 因此不允许访问。

【问题讨论】:

    标签: angularjs api ionic-framework cors


    【解决方案1】:

    您不应在 index.php 中手动修改您的标头。 Laravel 可能会覆盖标头,而且您无法确定何时调用 header() 函数(如果有的话)。

    您可以实现某种拦截器来捕获每个请求并设置 CORS 标头。或者你可以试试https://github.com/barryvdh/laravel-cors之类的库

    【讨论】:

    • 感谢@Łukasz Szcześniak 的回复,非常感谢,现在它正在工作......
    【解决方案2】:

    您的标头是否仅添加到 GET/POST 中?因为问题出在预检 OPTIONS 请求中 - 您需要确保至少为 OPTIONS 请求返回 Access-Control-Allow-Origin 响应标头。

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 1970-01-01
      • 2018-08-09
      • 2019-02-05
      • 2017-02-13
      • 2017-05-07
      • 2020-07-21
      • 2016-05-26
      • 2018-07-28
      相关资源
      最近更新 更多