Я пытаюсь получить ресурсы из моего REST API Symfony 4. Я уже получил некоторую ошибку CROS (различного происхождения) и исправил ее с помощью плагина Google Chrome, но на этот раз все по-другому: заголовок авторизации . Так что я думаю, в этом и заключается проблема.
На Почтальоне все работает нормально, но я знаю, что с браузером все по-другому.
Я получаю 2 ошибки:
OPTIONS http://localhost:8000/api/game.index 405 (Method Not Allowed)
Access to fetch at 'http://localhost:8000/api/game.index' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
Похоже, я отправил метод OPTIONS и получил ошибку 405, но все равно не понимаю, почему
Вот мой код
fetch(URL, {
method: 'GET',
headers: {
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, DELETE, PUT',
'Access-Control-Allow-Headers' : "Authorization",
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer: ' + token,
}
})
php back end, я устанавливаю код состояния по умолчанию 200.
public function responseJson($data, int $status = 200) : Response
{
$jsonData = $this->serializer->serialize($data, 'json');
$response = new Response($jsonData);
$response->headers->set('Content-Type', 'application/json');
$response->setStatusCode($status);
return $response;
}
Извините, я знаю, что это распространенная ошибка, я повсюду видел кучу сообщений об этом, но все, что я пробовал, не работало, и у меня больше не было выбора.
Спасибо, что прочитали