关于不用webman+vue跨域的问题

楚羽幽

问题描述

没有使用nginx做代理,单纯直接用webman启动的服务就会跨域,已经设置了跨域中间件了

中间件代码

路由代码

跨域截图

网络请求

1196 3 0
3个回答

fantasmic

我也是这样在中间件写,但是一直调不通,干脆直接在中间件设置header,问题解决

public function process(Request $request, callable $next) : Response
    {
        // 如果是opitons请求则返回一个空的响应,否则继续向洋葱芯穿越,并得到一个响应
        $response = $request->method() == 'OPTIONS' ? response('') : $next($request);
        $response->withHeaders([
            'Access-Control-Allow-Headers' => 'Content-Type,Authorization,X-Requested-With,Accept,Origin',
        ]);
        header('Access-Control-Allow-Origin: *');
        return $response;
    }
  • damao 2022-11-01

    webman里用直接用php自带的header()函数是无效的

  • fantasmic 2022-11-01

    我的就没问题呢

  • damao 2022-11-01

    估计你nginx加了或者其他地方加了跨域header

damao

截图
404了,没走中间件

  • 暂无评论
tanhongbin

为啥你想想?OPTIONS这个请求哪里去了?跨域是会发起两次请求的,OPTIONS就是第一次请求

  • 暂无评论
年代过于久远,无法发表回答
🔝