【Laravel5.6-CORS】对指定路由实现跨域访问


网上有说用插件的,想象composer的速度,算了,还是写一个简单的中间件吧,将请求在中间件拦截后,返回跨域头就行了。

首先创建中间件

php artisan make:middleware Cors

编写这个中间件

<?php

namespace App\Http\Middleware;

use Closure;

class Cors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
        $response->header('Access-Control-Allow-Origin', '*');
        $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept');
        $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
        return $response;
    }
}

注册路由

Kernal.php

找到 路由中间件数组 $routeMiddleware

添加

'cors'=>\App\Http\Middleware\Cors::class,

然后对路由

Route::get()->middleware('cors');

就可以跨域访问了。


文章作者: 2winter
文章链接: https://2winter.com
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 2winter !
  目录