2016-05-24 2 views
1

В IE 11 У меня возникает следующая проблема: я не могу заставить XML-адрес CORS XML с SSL-страницы использовать другой URL-адрес SSL в другом домене. Он работает в FF и Chrome. Я не могу использовать XDomainRequest (устарел), и я не могу использовать jQuery или другие библиотеки, должен быть javascript.Работает ли CORS в IE 11 с использованием SSL xmlhttprequest

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 настроен на удаленном сервере, и он работает.

Я НЕ МОГУ ЗАПРОСИТЬ клиентам изменить настройки своих браузеров.

Я могу сделать XMLHttpRequest вызовы к локальному серверу, используя URL = «/ реж/...» без домена

Есть ли что-то мне не хватает или SSL для SSL CORS запросов в IE 11 не разрешено или работает? Я считаю, что мне потребуется использовать сервер в качестве прокси для вызова URL-адреса для этого запроса, который будет медленным, но, вероятно, необходимо, если я не могу разрешить.

Даже подтверждение того, что я пытаюсь сделать, невозможно, или еще лучше, пример того, что мне нужно сделать, чтобы заставить его работать. Любая помощь приветствуется.

+1

Работает ли IE11 как IE11? – epascarello

+0

Если вы имеете в виду, я работаю в режиме совместимости, нет, я нет. Режим эмуляции установлен на значение по умолчанию. – carlo

+0

Спасибо, epascarello, это помогло мне найти проблему! – carlo

ответ

1

Я проверил множество тестов с разных серверов, и конечный результат заключается в том, что да, CORS работает в SSL-соединениях SSL. Причина, по которой я получал вышеуказанную ошибку, связана с платформой, которую я использую для разработки. Она включает в себя мета-тег в HTML заголовок каждой страницы, которая проходит эмуляцию для IE

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

Я не могу удалить тег, так что я буду видеть, если есть способ, чтобы переопределить.