【问题标题】:CORS Angular/PHP Slim FrameworkCORS Angular/PHP Slim 框架
【发布时间】:2017-07-23 21:08:23
【问题描述】:

我一直在尝试找到一种解决方案,以在我的 Angular 应用程序上启用 cors,该应用程序由带有 Slim API 框架的 PHP 提供服务。

API 位于 domain.com,Angular 应用位于 mobile.domain.com。另外,我不是使用后端来渲染角度第一路线,而是纯 nginx html 配置。

我尝试在 API /login GET/ 上设置允许来源,允许方法,但是每当我发送请求时,我都会收到以下响应:

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'null'。

谁能给我一些指导?

【问题讨论】:

    标签: php angularjs cors slim


    【解决方案1】:

    完整的解决方案

    $app->options('/{routes:.+}', function ($request, $response, $args) {
    return $response;
    });
    $app->add(function ($req, $res, $next) {
    $response = $next($req, $res);
    return $response->withHeader('Access-Control-Allow-Origin','http://mysite')
            ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
            ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    });
    

    from

    【讨论】:

      【解决方案2】:

      您必须将 CORS 标头设置为您的响应,以允许您的应用访问后端。

      $app->add(function($req, $res, $next){
          $res = $res->withHeader('Access-Control-Allow-Origin', 'mobile.domain.com');
      
          return $next($req, $res);
      });
      

      【讨论】:

        猜你喜欢
        • 2017-12-12
        • 2015-10-15
        • 1970-01-01
        • 2011-10-12
        • 1970-01-01
        • 2018-02-13
        • 2013-06-12
        • 1970-01-01
        • 2014-09-10
        相关资源
        最近更新 更多