Политика CORS: Access-Control-Allow-Headers не разрешает поле заголовка запроса x-required-with в ответе перед проверкой - PullRequest
0 голосов
/ 05 ноября 2019

полное сообщение об ошибке:

Доступ к XMLHttpRequest в 'https://api_url' из источника' http://localhost:3000' заблокирован политикой CORS: Поле заголовка запроса x-запрашивается-С помощью Access-Control-Allow-Headers в предпечатном ответе с. 1015 * Я также создаю промежуточное ПО и добавляю его в защищенный массив $middleware в Kernel.php

<?php

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-Allow-Credentials', 'true')
            ->header('Access-Control-Allow-Methods', 'GET, HEAD, OPTIONS, POST, PUT')
            ->header('Access-Control-Max-Age', '3600')
            ->header('Access-Control-Allow-Headers', 'Origin, Accept, Content-Type, X-Requested-With');
    }
}

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Используйте этот пакет, как @Mohammed Aktaa: https://github.com/barryvdh/laravel-cors

Добавьте промежуточное ПО HandleCors к вашему массиву api $middlewareGroup в app/Http/Kernel.php:

'api' => [
    // ...
    \Barryvdh\Cors\HandleCors::class,
],

Опубликуйте конфигурацию пакета:

$ php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"

Отредактируйте конфигурацию, чтобы использовать переменную среды CORS_ORIGIN для разрешенного источника:

'allowedOrigins' => [env('CORS_ORIGIN', '')],

В файле .env добавьте запись для вашегоместное происхождение:

CORS_ORIGIN="http://localhost:3000"
0 голосов
/ 06 ноября 2019

Используйте этот пакет, и он решит вашу проблему https://github.com/barryvdh/laravel-cors

...