How to enable CORS in Laravel?
Try laravel-cors package that allows you to send Cross-Origin Resource Sharing headers with Laravel middleware configuration.
First solution
Try to set the CORS middleware as a global middleware.
the handle function
in the CORS middleware
:
public function handle($request, Closure $next) { return $next($request) ->header('Access-Control-Allow-Origin', '*') ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS') ->header('Access-Control-Allow-Headers', 'Content-Type, Authorization'); }
to add this middleware globally, go to App\Http\Kernel
, and add this line in the $middleware
array:
\App\Http\Middleware\Cors::class,
Second solution
you can also add this code in the bootstrap/app.php
header('Access-Control-Allow-Origin', '*');header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
hope it works!
Add below to you .htaccess (just add to the destination site and origin site)
Header always set Access-Control-Allow-Origin "*"Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"Header always set Access-Control-Max-Age "1000"Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"RewriteEngine OnRewriteCond %{REQUEST_METHOD} OPTIONSRewriteRule ^(.*)$ $1 [R=200,L]
Hope it saves someone time, happy coding!!!