alibo1016

第 730 位会员

会员
个人信息
  • 加入于 2018-12-18 14:52:05
  • 最后登录时间 5年前
个人成就
  • 发表文章次数 2
  • 发布回复次数 10
  • 个人主页浏览次数 7
使用vue前后端分离,跨域问题求解。求大佬看看我的配置有问题吗,感谢!!5年前

@Fecshop #19楼 我看了,我先用着自己写的,等官方更新后 再去掉重写,谢谢!

使用vue前后端分离,跨域问题求解。求大佬看看我的配置有问题吗,感谢!!5年前

@mixiansheng [#9楼](#comment9)

public function getCors(){
        $fecshop_uuid = Yii::$service->session->fecshop_uuid;
        $cors_allow_headers = [$fecshop_uuid, 'fecshop-lang', 'fecshop-currency', 'access-token'];
        $cors = $this->appserver_cors;
        $corsFilterArr = [];
        if (is_array($cors) && !empty($cors)) {
            if (isset($cors['Origin']) && $cors['Origin']) {
                $corsFilterArr['Origin'] = $cors['Origin'];
            }
            if (isset($cors['Access-Control-Request-Method']) && $cors['Access-Control-Request-Method']) {
                $corsFilterArr['Access-Control-Request-Method'] = $cors['Access-Control-Request-Method'];
            }
            if (isset($cors['Access-Control-Max-Age']) && $cors['Access-Control-Max-Age']) {
                $corsFilterArr['Access-Control-Max-Age'] = $cors['Access-Control-Max-Age'];
            }
            if (isset($cors['Access-Control-Expose-Headers']) && $cors['Access-Control-Expose-Headers']) {
                $cors_allow_headers = array_merge($cors_allow_headers, $cors['Access-Control-Expose-Headers']);
            }
            $corsFilterArr['Access-Control-Expose-Headers'] = $cors_allow_headers;
			//新增部分
            if(Yii::$app->request->getMethod() === 'OPTIONS'){
                $corsFilterArr['Access-Control-Request-Headers'] = $cors_allow_headers;
            }
        }
        return $corsFilterArr;

    }
fecshop google 登陆原理5年前

@xuhuaiqu #12楼 谢谢 我后面也是这么处理的

fecshop google 登陆原理5年前

@xuhuaiqu #10楼 我也有相同的疑问,你后来是自己加access_token的header的吗。

重写fecshop\models\mysqldb\Customer无效 5年前

谢谢,已经找到问题,整个请求周期里少重写了一个方法,旧的方法用的use fecshop\models\mysqldb\Customer 这个命名空间,所以还是跑到旧的Customer里去了。

使用vue前后端分离,跨域问题求解。求大佬看看我的配置有问题吗,感谢!!5年前

不好意思

  1. 改入口文件 是我恰好看到了注释 改着试了下
  2. 我不明白那两个文件里有什么问题 里面是有写fecshop-currency的 与git上最新的代码是一模一样
使用vue前后端分离,跨域问题求解。求大佬看看我的配置有问题吗,感谢!!5年前

感谢你的回答

跟踪打印了AppserverController.php 、Appserver.php里的cors 是包含fecshop-currency

不过把appserver\web\index.php 这几行注释去掉了 可以访问了 加上注释就不行

if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    $cors_allow_headers = ['fecshop-uuid','fecshop-lang','fecshop-currency','access-token'];       
    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, ".implode(', ',$cors_allow_headers));
    header('Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS');
    exit;
}

而且去掉注释之后 貌似会重复请求url

使用vue前后端分离,跨域问题求解。求大佬看看我的配置有问题吗,感谢!!5年前

你好,我尝试将1.6.1.0升级到了1.6.2.0 但是问题依旧:worried:

Your Site Analytics