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();
});
Ключовото е правилното конфигуриране на сървъра, за да разреши явно заявки от необходимите източници.