laravel 跨域问题

在本地开发Laravel应用时遇到跨域错误,通过查阅资料了解到需要在中间件中设置相应header。参照StackOverflow上的解答,完成中间件注册以启用CORS。

今天在看laravel5.6  本地开发,当其他人ip访问出现错误  一系列header连接出错   

然后找了一下原因

 public function handle($request, Closure $next)
    {

        header("Access-Control-Allow-Origin: *");

        // ALLOW OPTIONS METHOD
        $headers = [
            'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers'=> 'Content-Type, Origin, Cookie ,  X-Requested-With'
        ];
//        if($request->getMethod() == "OPTIONS") {
//            // The client-side application can set only headers allowed in Access-Control-Allow-Headers
//            return Response::make('OK', 200, $headers);
//        }


        $response = $next($request);
        foreach($headers as $key => $value)
            $response->header($key, $value);
        return $response;
    }
Access-Control-Allow-Headers     里面参数可以自行根据所需要条件添加

Access-Control-Allow-Origin      一样可以根据业务需求开放相应域名

添加到中间件,完成中间件注册  即可使用

参考  http://www.jb51.net/article/117561.htm

        https://stackoverflow.com/questions/33076705/laravel-5-1-api-enable-cors

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值