Что такое CORS ошибка?
Ошибки и отладка
Ошибка CORS возникает, когда браузер блокирует чтение ответа на кросс-доменный запрос, потому что сервер не прислал разрешающие заголовки `Access-Control-Allow-`.**
Когда возникает
При запросе с одного origin (протокол+домен+порт) к ресурсу на другом origin, если сервер не разрешил этот источник:
Access to fetch at 'https://api.b.com' from origin 'https://a.com'
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' headerГлавное
- Это ошибка браузера, а не сервера: запрос часто доходит до сервера и выполняется, но браузер блокирует чтение ответа JavaScript-ом.
- Из curl/Postman/серверного кода CORS не действует — там ограничений нет.
- Ошибка означает: сервер не прислал нужный
Access-Control-Allow-Origin(или он не совпадает).
Причины
- Сервер не настроил CORS-заголовки.
- Origin не входит в разрешённый список.
- Не обработан preflight
OPTIONSдля сложных запросов. - Отправка credentials без
Access-Control-Allow-Credentials: true(и с*в origin).
Как исправить
- Настроить заголовки на сервере.
- Использовать прокси (свой backend или dev-прокси).
Коротко для собеседования
Ошибка CORS — браузер блокирует чтение ответа на кросс-доменный запрос из-за отсутствия/несовпадения Access-Control-Allow-Origin. Запрос обычно доходит до сервера; блокируется именно чтение ответа JS. Из curl её нет. Решение — заголовки на сервере или прокси.