2017-09-28 14:46:36 2514次浏览 2条回答 0 悬赏 30 金钱

开发api接口,做了HttpBearerAuth授权登陆之后,ajax请求跨域,我的配置如下:

  public function behaviors()
        {
            return ArrayHelper::merge(parent::behaviors(), [
            // 授权验证
            'authenticator' => [
                'class' => HttpBearerAuth::className(),
                'optional' => [
                    'login',
                    'signup',
                ],
            ],
                'corsFilter'  => [
                    'class' => \yii\filters\Cors::className(),
                    'cors'  => [
                        'Origin' => ['*'],
                        'Access-Control-Request-Headers' => ['authorization'],
                    ],
                ],
        ]);
        }

Ajax请求出现:Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' ;
请路过的兄弟姐妹们看看要如何配置才会不会跨域,

最佳答案

  • 回答于 2017-09-30 11:46 举报

    use yii\filters\Cors;
    `

        $behaviors['class'] = Cors::className();
    

    `

    1 条回复
    回复于 2017-09-30 13:43 回复

    首先感谢您的回答,我的需求是登录验证和跨域校验都得同时存在,目前的问题是只要加上授权登录就会导致Cors无效

您需要登录后才可以回答。登录 | 立即注册
kanganxi
主管

kanganxi

注册时间:2017-04-25
最后登录:2019-06-27
在线时长:16小时55分
  • 粉丝0
  • 金钱360
  • 威望0
  • 积分520

热门问题