«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему я получаю ошибки «Нет заголовка Access-Control-Allow-Origin» при доступе к XML-файлам из разных доменов?

Почему я получаю ошибки «Нет заголовка Access-Control-Allow-Origin» при доступе к XML-файлам из разных доменов?

Опубликовано 20 ноября 2024 г.
Просматривать:130

Why Do I Get \

Ошибка XML jQuery: «В запрошенном ресурсе нет заголовка 'Access-Control-Allow-Origin'»

При попытке получить доступ к XML-файлу, расположенному в другом домене, с помощью jQuery, вы можете столкнуться с сообщением об ошибке: «В запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin». Эта ошибка возникает из-за политики одного и того же происхождения, которая ограничивает вызовы AJAX между источниками.

Понимание политики одного и того же происхождения

Политика одинакового происхождения обеспечивает следующее веб-браузеры разрешают вызовы AJAX только к службам, размещенным в том же домене, что и HTML-страница, отправляющая запрос. В данном примере страница HTML размещается по адресу http://run.jsbin.com/, а файл XML расположен по адресу http://www.ecb.europa.eu/, что приводит к запросу между источниками, который блокируется браузером.

Включение запросов из разных источников (CORS)

Чтобы разрешить запросы из разных источников, сервер должен включать в свой ответ соответствующие заголовки. Одним из этих заголовков является заголовок Access-Control-Allow-Origin, который указывает источники, которым разрешен доступ к ресурсу.

В случае XML-файла сервер ЕЦБ не предоставляет необходимые CORS. заголовки, отсюда и сообщение об ошибке. Чтобы решить эту проблему, сервер необходимо настроить для включения следующих заголовков:

Access-Control-Allow-Origin: http://run.jsbin.com
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: Content-Type

Примечание о предполетных запросах

В определенных случаях, например при выполнении запросов POST с непростыми заголовками, браузер может выполнить предварительный запрос OPTIONS, чтобы определить, поддерживает ли сервер CORS для конкретного запроса. Если ответ сервера на этот предполетный запрос не содержит соответствующих заголовков CORS, основной запрос завершится с тем же сообщением об ошибке. Таким образом, важно включать необходимые заголовки в ответы как на предполетный, так и на основной запросы.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3