CORS是否在IE 11中使用SSL xmlhttprequest

时间:2016-05-24 09:36:51

标签: javascript xmlhttprequest cors

在IE 11中,我遇到以下问题:我似乎无法将SSL页面中的CORS XMLHttpRequest转发到另一个域上的另一个SSL URL。它适用于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);
}

enter image description here

在远程服务器上配置了CORS,它正在运行。

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

我能够使用url =" / dir /..."对本地服务器进行XMLHttpRequest调用;没有域名

是否有我遗漏的内容或IE 11中的SSL CORS请求不允许或正常运行?我相信我将被要求使用服务器作为代理来调用此请求的URL,这将是缓慢的,但如果我无法解决可能是必要的。

即使确认我想要做的事情是不可能的,或者更好的是我需要做的一个例子来使其发挥作用。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

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

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

我无法移除标签,因此我会看是否有办法覆盖。