Javascript OpenSeadragon跨域Ajax请求

Javascript OpenSeadragon跨域Ajax请求,javascript,html,ajax,seadragon,openseadragon,Javascript,Html,Ajax,Seadragon,Openseadragon,TL;DR:如何使用OpenSeadragon发出跨域AJAX请求 我正在使用OpenSeadragon显示网站上的图像。我让Seadragon viewer使用测试URL,如下所示: <script src="../../Scripts/openseadragon/openseadragon.js"></script> <script> var viewer = OpenSeadragon({ id: "openseadragon1", p

TL;DR:如何使用OpenSeadragon发出跨域AJAX请求

我正在使用OpenSeadragon显示网站上的图像。我让Seadragon viewer使用测试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>
我可以在我的浏览器中访问它,当我在下载xml文件时,我在浏览器中键入它,我会在查看器中得到无访问控制源标题错误和此错误:


我知道跨域请求,但作为OpenSeadragon的新手,我不知道如何在我的OpenSeadragon函数中创建跨域请求。我知道OpenSeadragon有一个CreateAJAXRequest函数,但我真的不知道如何实现它,我不确定这是否能解决我的问题。

您的浏览器正确地拒绝从未设置访问控制允许源的跨域源加载数据。三种可能的解决办法:

制作xml的副本并将其托管在您自己的站点上 向您自己的站点发出请求,该站点充当代理并获取远程xml文件 请要求网站所有者为您设置CORS标题
我制作了一个代理,它成功地返回了我需要的XML,但是当我传入XML时,我的Seadragon查看器无法加载分幅。我试过OpenSeadragon和Seadragon.Viewer.openDzi,但都不管用;OpenSeadragon打开查看器但无法加载磁贴,Seadragon.viewer.openDzi加载了一个400错误。我在这里添加了一些信息:请您在回答中添加一些文字,解释使用什么以及为什么?
http://66.img.americanancestors.org/e41de95d-6235-4581-b823-4887b50eb8ad.xml
  tileSources: url,
  ajaxWithCredentials : true,