【问题标题】:CORS header 'Access-Control-Allow-OrigCross-Origin Request Blocked yii2CORS 标头 'Access-Control-Allow-OrigCross-Origin Request Blocked yii2
【发布时间】:2016-08-30 17:43:03
【问题描述】:

我正在使用 yii2 rest api。 我想通过 ajax 获取我的信息,但我收到了这个错误。

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://........... (Reason: CORS header 'Access-Control-Allow-Origin' missing).

我该如何解决这个问题?

【问题讨论】:

标签: rest yii2


【解决方案1】:

您应该阅读以下内容:Cors filter 和 REST Api and CORS filter

跨域资源共享 CORS 是一种机制,它允许从资源来源域之外的另一个域请求网页上的许多资源。特别是,JavaScript 的 AJAX 调用可以使用 XMLHttpRequest 机制。

应该在身份验证/授权过滤器之前定义 CORS 过滤器,以确保始终发送 CORS 标头。

use yii\filters\Cors;
use yii\helpers\ArrayHelper;

public function behaviors()
{
    return ArrayHelper::merge([
        [
            'class' => Cors::className(),
        ],
    ], parent::behaviors());
}

【讨论】:

  • 谢谢。在核心过滤器中我设置了'cors' => [ 'Origin' => ['*'], ],现在它可以工作了。
猜你喜欢
  • 2018-09-19
  • 2019-06-19
  • 2019-02-07
  • 2021-08-12
  • 2018-03-28
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多