响应标头名称“ Access-Control-Allow-Origin”包含无效字符,正在中止请求

时间:2018-09-20 08:09:58

标签: laravel laravel-5 heroku laravel-middleware laravel-5.7

我有一个laravel应用程序(部署在heroku上),在这里我收到500 Internal Server error

当我检查日志时,标题中出现错误方法:

  

响应标头名称'Access-Control-Allow-Origin'包含无效字符,正在中止请求

我有一个带有以下代码的cors middleware

public function handle($request, Closure $next)
{
    header('Access-Control-Allow-Origin : *');
    header('Access-Control-Allow-Headers : Content-type, X-Auth-Token, Authorization, Origin');
    return $next($request);
}

我在做什么错了?

1 个答案:

答案 0 :(得分:4)

问题可能出在:之前

但是实际上,您应该修改中间件以使其以“ Laravel方式”进行操作。代替

header('Access-Control-Allow-Origin : *');
header('Access-Control-Allow-Headers : Content-type, X-Auth-Token, Authorization, Origin');
return $next($request);

您应该使用:

return $next($request)
      ->header('Access-Control-Allow-Origin', '*')
      ->header('Access-Control-Allow-Headers', 'Content-type, X-Auth-Token, Authorization, Origin');