gpt4 book ai didi

javascript - XDomainRequest 与 XMLHTTPRequest

转载 作者:可可西里 更新时间:2023-11-01 01:51:40 25 4
gpt4 key购买 nike

我们正在使用 PixiJS 创建一个应用程序,其中有一个动态 json 加载器。

它使用以下方式加载 .json 文件:

if(window.XDomainRequest)
{
this.ajaxRequest = new window.XDomainRequest();
}
else if (window.XMLHttpRequest)
{
this.ajaxRequest = new window.XMLHttpRequest();
}
else
{
this.ajaxRequest = new window.ActiveXObject('Microsoft.XMLHTTP');
}

这似乎在除 Windows Phone 和 IE 之外的任何地方都有效。但是,如果我将 XMLHttpRequest 与 XDomainRequest 交换,它就可以正常工作。

最后,有人可以解释一下 XDomainRequest 和 XMLHTTPRequest 之间的区别吗?哪一个应该优先于另一个?

最佳答案

XDomainRequest 是拥有支持 CORS 的 XHR 的唯一方法在 IE8 和 9 中。在 IE8 的时候,微软决定提出他们自己的 CORS XHR,而不是现在在 IE10 中使用的标准 CORS XMLHttpRequest。自 IE10 以来,XDomainRequest 已被删除(编辑:见评论)。

只有在 IE8/9 中需要 CORS 时,才应使用 XDomainRequest。 XDomainRequest 不能与 XMLHttpRequest 完全互换,接口(interface)也不完全相同。一个例子是它不支持 onreadystatechange 事件。因此,如果您想像问题中那样在它们之间切换,则需要确保使用 onload 而不是 onreadystatechange 并检查任何其他功能是否可以互换。

answer 中有一个示例用法.

关于javascript - XDomainRequest 与 XMLHTTPRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com