2014-09-18 2 views
5

Во всех других браузерах, не IE, следующий фрагмент кода отлично работает:IE HTTPS запрос CORS XHR завершается с Script7002: XMLHttpRequest: Ошибка сети 0x2eff

<!DOCTYPE html> 
<html> 
<script type="text/javascript"> 
var xhr = new XMLHttpRequest(); 
var url = "https://otherdomain.com"; 
var method = "GET"; 
xhr.open(method, url, true); 

xhr.onload = function() { 
var responseText = xhr.responseText; 
document.write(responseText); 
}; 

xhr.send() 

</script> 
</html> 

в двух различных IE11 браузеров (работает на разных версиях ОС), Я получаю две разные ошибки:

  1. IE11 Win7: Script7002: XMLHttpRequest: ошибка сети 0x80070005, доступ запрещен.
  2. IE11 Win8: Script7002: XMLHttpRequest: Сеть 0x2eff Ошибка Не удалось выполнить операцию из-за ошибки 00002eff

Google ищет вышеуказанные коды ошибок не оказаться ничего полезного. Я попытался установить Content-Type, добавив фиктивные функции для onprogress и onload, но безрезультатно.

+2

Заголовки CORS правильно возвращаются из другого домена, о чем свидетельствует тот факт, что вышеописанное отлично работает в других браузерах. –

ответ

3

Выяснил это.

В нашем случае, в предыдущем проекте мы изменили, какие SSL-протоколы разрешены IE для нас. Запросы Ajax терпели неудачу, поскольку IE не разрешалось согласовывать SSL-подтверждения на основе пользовательской конфигурации.

Решение должно было открыть Свойства обозревателя, выбрать вкладку «Дополнительно», а затем нажать кнопку «Восстановить дополнительные настройки». После этого запросы Ajax работали нормально.

Надеюсь, это сэкономит кому-то еще 6 часов или около того, которые я потратил на это!

+0

не помогло в IE10 – Legends

+1

После установки восстановления я применил и закрою браузер, но я не работал для меня. Нет ли какого-либо шага? –

Смежные вопросы