Такая же политика происхождения: почему код JS не может отправить HTTP-запрос в свой домен? - PullRequest
0 голосов
/ 06 мая 2020

Пример

У меня есть сайт http://example.com. Этот сайт использует сторонний код JS: <script src="http://third.party/script.js"></script>

http://third.party/script.js содержит следующий код:

console.log("self.origin", self.origin);
fetch("http://third.party/api");

Когда я открываю http://example.com, я получаю следующее вывод в консоли разработчика:

self.origin http://example.com

Access to fetch at 'http://third.party/api' from origin 'http://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Сторонний скрипт попытался загрузить данные из стороннего API, но это не удалось. Почему не удалось?

Сторонний скрипт и API имеют одно и то же доменное имя (происхождение). Должно ли это быть разрешено той же политикой происхождения?

1 Ответ

1 голос
/ 06 мая 2020

Источник определяется URL-адресом веб-страницы, на которую загружается JavaScript, а не URL-адресом самого файла JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...