Встречается на собеседованиях • сегодня

Когда появляется ошибка Request blocked by CORS policy

Ошибка "Request blocked by CORS policy" возникает, когда браузер блокирует запрос к ресурсу на другом домене из-за политики CORS (Cross-Origin Resource Sharing). Это происходит, если сервер не отправляет правильные CORS-заголовки в ответе.

Основные причины:

  1. Запрос отправлен на другой домен/порт/протокол
  2. Сервер не включает заголовок Access-Control-Allow-Origin
  3. Для сложных запросов (PUT, DELETE и др.) не прошёл preflight-запрос

Пример ошибки:

text
Access to fetch at 'https://api.example.com/data' from origin 'https://your-site.com' has been blocked by CORS policy

Решение на стороне сервера:

javascript
// Node.js Express пример
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  next();
});

На клиенте можно обойти через прокси или JSONP (для GET), но лучше исправить сервер.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы