Обработка проблем CORS в Fetch API

mark01

✩✩✩✩✩✩✩
9 Авг 2023
5
0
Я работаю над проектом веб-разработки, в котором использую Fetch API для отправки запросов из разных источников в другой домен. Однако я сталкиваюсь с проблемами CORS (совместное использование ресурсов между источниками), и мои запросы блокируются. Я попробовал несколько решений, которые нашел в Интернете, но у меня все еще есть проблемы. Вот упрощенная версия моего кода:

JavaScript:
fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error('Error fetching data:', error);
  });
Я слышал об использовании заголовков CORS на стороне сервера для разрешения запросов из разных источников, но не знаю, как их реализовать. Может ли кто-нибудь указать мне, как правильно справляться с проблемами CORS? Как мне настроить свой сервер, чтобы разрешать запросы из моего домена? Я использую Express.js на стороне сервера. Любая помощь будет принята с благодарностью!
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
об использовании заголовков CORS на стороне сервера
В ответ на запросы ты должен добавить заголовок access-control-request-origin, "*"
POST, PUT, DELETE запросы сначала отправляют OPTIONS, поэтому в ответ на OPTIONS ты должен вернуть ответ, содержащий заголовки:
access-control-request-origin, "*"
access-control-request-headers, "*"
access-control-request-method, "POST"
access-control-request-method, "PUT"
access-control-request-method, "DELETE"
 
  • Лойс +1
Реакции: mark01