【发布时间】:2026-01-05 03:50:02
【问题描述】:
我正在使用 Backbone 的 fetch 从远程服务器获取数据。它适用于除 IE 之外的所有浏览器(当然),因为 IE 要求您使用 XDomainRequest 而不是 XHR 进行跨站点。我是否必须将应用程序中的每个 fetch 替换为类似以下代码的内容?
var xdr = new XDomainRequest();
xdr.open("get", url);
xdr.onload = function() {
// XDomainRequest doesn't provide responseXml, so if you need it:
var dom = new ActiveXObject("Microsoft.XMLDOM");
dom.async = false;
dom.loadXML(xdr.responseText);
};
xdr.onsuccess = success;
xdr.onerror=error;
xdr.send();
当我使用上面的代码时,我也得到一个 SCRIPT5: "Access is denied" 错误。
是否有可能在 IE 中没有正确处理主干提取,或者我做错了什么?
【问题讨论】:
-
以前没有人经历过这个吗?我是第一个吗?
-
IE7 不支持跨域请求。从 IE8 开始,它支持跨域但使用自己的对象。有关更多信息,请参阅此页面msdn.microsoft.com/en-us/library/ms537505%28VS.85%29.aspx
标签: internet-explorer backbone.js xmlhttprequest fetch xdomainrequest