заблокирован политикой CORS: нет «Access-Control-Allow-Origin» - PullRequest
0 голосов
/ 09 ноября 2019

Я работаю в angular 8 в качестве внешнего интерфейса и Lumen в качестве внутреннего, когда я использую функцию httpclient для внутреннего подключения (метод POST). Я обнаружил ошибку как Access-Control-Allow-Origin (CORS).

Я просто Google его и создать промежуточное программное обеспечение и добавить эту ссылку промежуточного программного обеспечения в файл app.php, но когда снова выполнить функцию, я получил ту же ошибкуМожете ли вы помочь мне решить эту проблему.

ОШИБКА В КОНСОЛЕ БЫЛА

Доступ к XMLHttpRequest в 'http://localhost:8000/show' из источника' http://localhost:4200' был заблокирован политикой CORS: Нет 'Access-Control-AllowЗаголовок -Origin 'присутствует на запрошенном ресурсе.

Моя версия люмена была 6.2, а также с использованием php-версии как 7.2

код app.php -

$app->middleware([
App\Http\Middleware\CorsMiddleware::class

]);

код web.php:

$router->post('show', 'ExampleController@show');

код промежуточного программного обеспечения:

public function handle($request, Closure $next) {
    $headers = [
        'Access-Control-Allow-Origin' => '*',
        'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
        'Access-Control-Allow-Credentials' => 'true',
        'Access-Control-Max-Age' => '86400',
        'Access-Control-Allow-Headers' => 'Content-Type, Authorization'
    ];

    if ($request - > isMethod('OPTIONS')) {
        return response() - > json('{"method":"OPTIONS"}', 200, $headers);
    }

    $response = $next($request);
    foreach($headers as $key => $value) {
        $response - > header($key, $value);
    }

    return $response;
}
...