【问题标题】:Does CORS work in IE 11 using SSL xmlhttprequestCORS 是否在 IE 11 中使用 SSL xmlhttprequest
【发布时间】:2016-09-21 10:32:29
【问题描述】:

在 IE 11 中,我遇到以下问题:我似乎无法从 SSL 页面向不同域上的另一个 SSL url 发出 CORS XMLHttpRequest。它适用于 FF 和 Chrome。我不能使用 XDomainRequest(已弃用),也不能使用 jQuery 或其他库,必须是 javascript。

function test_Alert(){
    var request = new XMLHttpRequest();
    var params = "action=something";
    var xUrl= "https://some-domain.com?auth=123456&otherval=abcd");
    request.open('POST', xUrl, true);
    request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");};
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", params.length);
    request.setRequestHeader("Connection", "close");
    request.send(params);
}

CORS 已在远程服务器上配置,并且正在运行。

我不能要求客户修改他们的客户端浏览器设置。

我可以在没有域的情况下使用 url="/dir/..." 对本地服务器进行 XMLHttpRequest 调用

我是否缺少某些东西,或者 IE 11 中的 SSL 到 SSL CORS 请求不允许或无法正常工作?我相信我将需要使用服务器作为代理来调用此请求的 url,这会很慢,但如果我无法解决,可能是必要的。

甚至确认我正在尝试做的事情是不可能的,或者更好的例子是我需要做些什么才能使它工作。任何帮助表示赞赏。

【问题讨论】:

  • IE11 是否作为 IE11 运行?
  • 如果你的意思是,我是否在兼容模式下运行,不,我不是。仿真模式设置为默认值。
  • 谢谢,epascarello,这帮助我找到了问题!

标签: javascript xmlhttprequest cors


【解决方案1】:

我从不同的服务器运行了一堆测试,最终结果是,是的,CORS 在 SSL 到 SSL 连接中工作。我收到上述错误的原因是因为我用于开发的平台。它在每个运行 IE 仿真的页面的 html 标头中都包含一个元标记

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

我无法删除标签,所以我会看看是否有办法覆盖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 2014-08-30
    • 2017-02-06
    • 1970-01-01
    • 2014-06-07
    相关资源
    最近更新 更多