Здравствуйте! В этом уроке рассмотрим, как можно с помощью метода Fetch делать запросы на другие сайты и какие проблемы при этом могут возникнуть. Если вы сделаете запрос fetch на другой сайт, он, вероятно всего, завершится неудачей.
Например, давайте попробуем запросить http://example.com:
try { await fetch('http://example.com'); }
catch(err) { alert(err); // Failed to fetch }
Вызов fetch не удался, как впрочем и ожидалось.
Ключевым понятием является источник (origin) – комбинация домен/порт/протокол.
Запросы на другой сервер – отправленные на другой домен (или даже поддомен), или протокол, или порт – требуют специальных заголовков от удалённой стороны.
Такая политика называется «CORS»: Cross-Origin Resource Sharing («совместное использование ресурсов между разными источниками»). Читать далее