【发布时间】:2017-09-21 10:41:38
【问题描述】:
嗨,我使用的是 cors 中间件,在我添加 Laravel Passport 之前它似乎工作正常,现在它有问题.. 它显示错误
Call to undefined method Symfony\Component\HttpFoundation\Response::header() on line number 36
这是我的中间件:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Response;
class Cors
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// ALLOW OPTIONS METHOD
$headers = [
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
'Access-Control-Allow-Headers' => "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Authorization , Access-Control-Request-Headers"
];
if ($request->getMethod() == "OPTIONS") {
// The client-side application can set only headers allowed in Access-Control-Allow-Headers
return Response::make('OK', 200, $headers);
}
$response = $next($request);
foreach ($headers as $key => $value)
$response->header($key, $value);
return $response;
}
}
问题是在 if 条件之后.. 任何帮助将不胜感激
【问题讨论】:
-
您能否分享您的
composer.json文件,以便我们查看每个库的版本? -
请试试这个:
$response->headers->set($key, $value) -
我的印象是护照会为您处理 CORS?
标签: php laravel laravel-5 laravel-passport