laravel-跨域中间件
<?php namespace App\Http\Middleware; use Closure; class AllowCrossRequest { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $response = $next($request); $IlluminateResponse = 'Illuminate\Http\Response'; $SymfonyResopnse = 'Symfony\Component\HttpFoundation\Response'; $headers = [ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, PATCH, DELETE', 'Access-Control-Allow-Headers' => 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Authorization , Access-Control-Request-Headers, X-CSRF-TOKEN' ]; if ($response instanceof $IlluminateResponse) { foreach ($headers as $key => $value) { $response->header($key, $value); } return $response; } if ($response instanceof $SymfonyResopnse) { foreach ($headers as $key => $value) { $response->headers->set($key, $value); } return $response; } return $response; } }