Middle+
Stretli ste sa niekedy s problémom CORS? Ako ste ho vyriešili?
sobes.tech AI
Odpoveď od AI
Áno, problém CORS (Cross-Origin Resource Sharing) sa často vyskytuje pri požiadavkách z frontendu na API umiestnené na inom doméne.
CORS je bezpečnostný mechanizmus prehliadača, ktorý blokuje požiadavky z jedného doménu na iný, ak server tieto požiadavky neumožní.
Ako to riešiť:
- Na serveri je potrebné nakonfigurovať hlavičky odpovede, napríklad
Access-Control-Allow-Origin, aby povolil požiadavky z potrebných domén. - Pre vývoj sa často používa proxy server, ktorý presmerováva požiadavky na API, aby obchádzal obmedzenia prehliadača.
- V niektorých prípadoch je možné použiť JSONP alebo iné obchádzajúce metódy, ale sú zastarané.
Príklad konfigurácie CORS v Node.js s Express:
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*'); // alebo konkrétny domén
res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
Kľúčové je správne nakonfigurovať server, aby explicitne povolil požiadavky z potrebných zdrojov.