TL;DR:如何使用 OpenSeadragon 发出跨域 AJAX 请求?
我正在使用 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 文件),我在查看器中收到“No Access-Control-Origin-Header”错误和此错误:
我知道跨域请求,但是作为 OpenSeadragon 的新手,我不确定如何在我的 OpenSeadragon 函数中创建跨域请求。我知道 OpenSeadragon 有一个 CreateAJAXRequest() 函数,但我真的不明白如何实现它,我不确定这是否能解决我的问题。