中间件设置响应头 $request->header 没效果
前端请求有跨域问题,然后设置了群组中间件。
Route::group ( [
'domain' => "api.qipeifeixia.in",
'namespace' => 'api',
'middleware' => 'cors'
], function () {
Route::resource ( 'supplier', 'SupplierController' );
} );
测试过这个中间件是有作用到的。
然而设置了之后并没有什么用,前端请求还是提示跨域问题。
以下中间件代码
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)
{
return $next($request)->header('Access-Control-Allow-Origin', '*')
->header("Access-Control-Max-Age", "86400")
->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With')
->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE, PATCH');
}
}
一看没效果,然后就去/public/index.php 文件里加了一段同样的头,就没问题了... 所以我想问,为什么写在中间件里没有生效,是哪里操作不对了吗..
下面是写在/public/index.php中的头,和中间件中的其实一样。
header('Access-Control-Allow-Origin: *');
header('Access-Control-Max-Age: 86400');
header('Access-Control-Allow-Headers: Content-Type, Accept, Authorization, X-Requested-With');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, PATCH');
推荐文章: