做api接口的时候碰到个问题,跨域!
解决方法有很多,但是方便的依旧那么一两个,这里我就介绍我最会的就是以下这种
最方便的,新建一个middleWare,把这个middleware加入到全局中间件,所有的请求,都会经过这个中间件的过滤。
php artisan make:middleware CrossHttp
然后就会在appHttpMiddlewareCrossHttp.php这个中间件,在handle方法里面添加如下代码:
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');
$response->header('Access-Control-Allow-Credentials', 'true'); //ession共享的需求才用到
return $response;
}
这个*意思就是允许所有域名来访问这个接口。
到这里还没完,中间件建立了,我们还要加到appHttpKernel.php里面去,不然不能生效。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。