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()函数,但我真的不知道如何实现它,我也不确定这是否能解决我的问题。
发布于 2014-08-14 00:14:30
您的浏览器正确地拒绝从未设置"Access-Control-Allow-Origin“的跨域来源加载数据。三种可能的解决方案:
发布于 2016-02-06 03:18:33
tileSources: url,
ajaxWithCredentials : true,https://stackoverflow.com/questions/25290960
复制相似问题