Доступ к XMLHttpRequest в «production_api_url» из источника «localhost» был заблокирован политикой CORS - PullRequest
0 голосов
/ 17 июня 2019

Я работаю над проектом, который создает сайт с использованием Angular 2 в качестве внешнего интерфейса и Laravel 5.7.На сайте я пытаюсь реализовать раздел профиля пользователя, такой как: вход в систему, регистрация, сброс пароля, забытый пароль, просмотр профиля, редактирование профиля.Я написал все apis, необходимые для раздела профиля пользователя и проверил его в POSTMAN, и все стало хорошо.Но, когда я пытаюсь реализовать API-интерфейс, для которого нужен токен API-интерфейса, я получаю эту ошибку

Доступ к XMLHttpRequest по адресу http://www.peterbookhouse.com/vibes/backend/public/api/changePassword' от источника 'http://localhost:4200'был заблокирован политикой CORS: Ответ на предпечатный запрос не прошел проверку контроля доступа: у него нет статуса HTTP ok. "

Я не могу найти решение для этого. Пожалуйста, помогите мнечтобы найти решение этой проблемы.

Заранее спасибо

Я уже создал промежуточное ПО для CORS и добавил это промежуточное ПО для нужных маршрутов.

Я пробовал два разных кодав промежуточном программном обеспечении. Я вставил эти коды.

1.

return $next($request)
    ->header(‘Access-Control-Allow-Origin’, ‘*’)
    ->header(‘Access-Control-Allow-Methods’, ‘GET, POST, PUT, DELETE, OPTIONS’)
    ->header(‘Access-Control-Allow-Headers’, ‘X-Requested-With, Content-Type, X-Token-Auth, Authorization’);

2.

header("Access-Control-Allow-Origin: *");

    // ALLOW OPTIONS METHOD
    $headers = [
        'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, DELETE',
        'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin, Authorization'
    ];


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;

1 Ответ

0 голосов
/ 17 июня 2019

Попробуйте добавить эти заголовки в верхней части ваших приложений laravel.

...