OpenSeadragon Cross Domain Ajax-запрос

TL;DR: Как я могу сделать междоменный AJAX-запрос с OpenSeadragon?

Я использую OpenSeadragon для отображения изображений с веб-сайта. У меня программа просмотра Seadragon работает с тестовым URL следующим образом:

<script src="../../Scripts/openseadragon/openseadragon.js"></script>

<script>
var viewer = OpenSeadragon({
    id: "openseadragon1",
    prefixUrl: "../../Scripts/openseadragon/images/", 
    tileSources: "https://familysearch.org/dz/v1/TH-1971-27860-10353-27/image.xml?ctx=CrxCtxPublicAccess&session" // requires a DZI tile source
});
</script>

<div id="container2" style="float:left;">
    <div id ="openseadragon1" style="width:500px;height:500px;border:1px solid black;float:left;"></div>
</div>

так что я знаю, что мой зритель работает. Моя проблема в том, что нужные мне изображения размещаются на сайте, у которого нет заголовка "Access-Control-Allow-Origin", поэтому мой Ajax-запрос блокируется. Например, когда я использую этот URL:

http://66.img.americanancestors.org/e41de95d-6235-4581-b823-4887b50eb8ad.xml

(к которому я могу получить доступ в своем браузере, когда я набираю его, он загружает файл XML), я получаю ошибку "Нет доступа-Контроль-Origin-Header" и эту ошибку в моем средстве просмотра:

ошибка в четырехугольнике

Я знаю о кросс-доменных запросах, но будучи новичком в OpenSeadragon, я не уверен, как создать междоменный запрос в моей функции OpenSeadragon. Я знаю, что OpenSeadragon имеет функцию CreateAJAXRequest(), но я не совсем понимаю, как это реализовать, и я не уверен, решит ли это мою проблему.

2 ответа

Ваш браузер правильно отказывается загружать данные из междоменного источника, для которого не установлено "Access-Control-Allow-Origin". Три возможных решения:

  • Сделайте копию XML и разместите ее на своем сайте.
  • Сделайте запрос на ваш собственный сайт, который действует как прокси и извлекает удаленный XML-файл
  • Пожалуйста, попросите владельца сайта настроить заголовки CORS для вас
  tileSources: url,
  ajaxWithCredentials : true,
Другие вопросы по тегам