gpt4 book ai didi

javascript - BasicAuth 在 IE8/9 上启用 CORS 请求

转载 作者:行者123 更新时间:2023-11-29 22:05:43 26 4
gpt4 key购买 nike

所以,这件事发生了。事实的快速要点列表:

  • 我有一个 HAL 后端,它位于不同的子域中,但(感谢 IE10 支持)与我的网络应用位于同一域中。
  • 我需要发出 POST 和 GET 请求。
  • 我不需要 IE7 或更低版本的支持。
  • 我需要对 IE8 及更高版本的支持。
  • API 的构建方式,我需要发送自定义 header 并能够访问响应 header 。其中之一是 basicAuth header ,但可能还有更多(如位置响应 header 等)。
  • 我很清楚 XDomainRequest 对象的局限性。
  • 我可以完全控制 API 和网络应用程序服务器、代码以及两者之间的一切。然而,我们相信 API 构建良好,不应因为某个浏览器的执行不佳而更改,因此我们希望将更改保持在最低限度。

事情就是这样。到目前为止,我已经检查了一些不起作用的替代方案。以下是它们的列表以及为什么它在这种情况下没有帮助: - JSONP,它只允许 GET 请求。 - easyXDM,它不允许发送自定义 header 。 - OpenAjax Hub,文档似乎困惑且稀缺,但它似乎也不支持自定义 header 。

所以问题来了:我是否缺少任何解决方案?我现在唯一的希望是构建自定义 swf 并覆盖 jQuery 的 $.ajax 函数,以便能够将其用作传输,但我不确定它是否会起作用。从理论上讲,它应该。实际上……好吧,那完全是另一回事。因此,在深入研究 swf hell 之前,我想我可能会问是否有人以前遇到过这个问题并有任何形式的建议?

最佳答案

您缺少一个嵌入式 iframe,它的 src 位于另一个域,并使用 window.postMessage 在两个窗口之间来回移动,其中嵌入式 iframe 为您的子域执行所有 XHR,然后发送使用您通常会在 CORS 中看到的所有 header /数据返回自定义包装的响应。

然后您将获得 IE8/9 支持。

关于javascript - BasicAuth 在 IE8/9 上启用 CORS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21100452/

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