没有使用nginx做代理,单纯直接用webman启动的服务就会跨域,已经设置了跨域中间件了
我也是这样在中间件写,但是一直调不通,干脆直接在中间件设置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; }
webman里用直接用php自带的header()函数是无效的
我的就没问题呢
估计你nginx加了或者其他地方加了跨域header
404了,没走中间件
为啥你想想?OPTIONS这个请求哪里去了?跨域是会发起两次请求的,OPTIONS就是第一次请求
我也是这样在中间件写,但是一直调不通,干脆直接在中间件设置header,问题解决
webman里用直接用php自带的header()函数是无效的
我的就没问题呢
估计你nginx加了或者其他地方加了跨域header
404了,没走中间件
为啥你想想?OPTIONS这个请求哪里去了?跨域是会发起两次请求的,OPTIONS就是第一次请求