Enable CORS in lumen

前端 未结 2 1708
伪装坚强ぢ
伪装坚强ぢ 2020-12-19 05:40

I have API developed using lumen. I can get request using postman. But when request using Jquery.ajax it is not working. So I need to know how to enable CORS in lumen API.

2条回答
  •  庸人自扰
    2020-12-19 06:38

    Consider creating a CorsMiddleware.php file with the following code. Find detail here.

       '*',
                'Access-Control-Allow-Methods'     => 'POST, GET, OPTIONS, PUT, DELETE',
                'Access-Control-Allow-Credentials' => 'true',
                'Access-Control-Max-Age'           => '86400',
                'Access-Control-Allow-Headers'     => 'Content-Type, Authorization, X-Requested-With'
            ];
    
            if ($request->isMethod('OPTIONS'))
            {
                return response()->json('{"method":"OPTIONS"}', 200, $headers);
            }
    
            $response = $next($request);
            foreach($headers as $key => $value)
            {
                $response->header($key, $value);
            }
    
            return $response;
        }
    }
    

    After saving it in your middleware folder, enable it by adding it to your bootstap/app.php file, on the list of you middleware like this

    $app->middleware([
        ...
        App\Http\Middleware\CorsMiddleware::class // Add this
    
    ]);
    

    I hope it helps.

提交回复
热议问题