Laravel 5.4 设置跨域资源请求CORS
在目录app\Http\Middleware\下新建CORS.php文件,内容如下:
<?php
namespace App\Http\Middleware;
use Closure;
class CORS {
    /**
     * 处理请求.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next) {
        //设置允许来源头信息:Access-COntrol-Allow-Origin
        header("Access-Control-Allow-Origin: *");
        // 设置允许请求的方法
        $headers = [
            'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin, Authorization'
        ];
        if ($request->getMethod() == "OPTIONS") {
            // 对于预请求返回200
            return \Response::make('OK', 200, $headers);
        }
        $response = $next($request);
        foreach ($headers as $key => $value)
            $response->header($key, $value);
        return $response;
    }
}
修改文件app\Http\Kernel.php:
1、在数组$middleware添加以下代码:
\App\Http\Middleware\CORS::class
2、在数组$routeMiddleware添加以下代码
'cors' => \App\Http\Middleware\CORS::class
代码里设置头信息Access-Control-Allow-Origin为*,是表示允许所有域名的请求,建议在此处修改为指定的域名。
 
             
             
             
             
            