Sobes.tech
Middle+

Сблъсквали ли сте се някога с проблем с CORS? Как го решихте?

sobes.tech AI

Отговор от AI

Да, проблемът с CORS (Cross-Origin Resource Sharing) често възниква при заявки от фронтенда към API, намиращо се на друг домейн.

CORS е механизъм за сигурност на браузъра, който блокира заявки от един домейн към друг, ако сървърът не е разрешил такива заявки.

Как да го решим:

  • На сървъра трябва да се конфигурират отговорните заглавки, например Access-Control-Allow-Origin, за да се разрешат заявки от необходимите домейни.
  • За разработка често се използва прокси сървър, който пренасочва заявките към API-то, за да избегне ограниченията на браузъра.
  • В някои случаи може да се използва JSONP или други обходни методи, но те са остарели.

Пример за настройка на CORS в 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();
});

Ключовото е правилното конфигуриране на сървъра, за да разреши явно заявки от необходимите източници.