Подтвердить что ты не робот

IE11 HTTPS AJAX XMLHttpRequest: ошибка сети 0x2eff, не удалось завершить операцию из-за ошибки 00002eff

У меня есть запрос ajax POST, который может занимать от 2 секунд до 30 + минут. Запрос на отправку происходит в результате нажатия кнопки

Если запрос занимает менее минуты или двух, он возвращается с ответом, и все работает нормально. Однако, если запрос занимает более двух минут, он возвращается с "Ошибка сети: XMLHttpRequest: Ошибка сети 0x2eff, не удалось завершить операцию из-за ошибки 00002eff".

Конечно, он отлично работает Firefox и Chrome.

Приложение развертывается на сервере JBoss с включенным SSL. Архитектура здесь заключается в том, что у нас есть балансировщик нагрузки, который направляет запрос на два сервера Jboss.

Internet Explorer

Версия: 11.0.9600.180971C Обновление: 11.0.25

Я пробовал следующее, но тщетно

1) ajax set cache to false - не работает

2) Изменены настройки реестра в соответствии с https://support.microsoft.com/en-us/kb/813827 - не работает, вот где это запутывает, thissuggests это не вещь IE, но в то же время это работает на chrome и ff, поэтому это не серверная вещь

3) Установите тайм-аут ajax на 0 - не работает 4) Добавлен e.preventDefault после $('# mdlSgn'). Click (function() {as jQuery Запросы Ajax отменяются без отправки

$('#mdlSgn').click(function() {
    $('#cnfdsgl').modal('hide');

     $.ajax({
        url: ajaxUrl,
        type: "POST",
        data: JSON.stringify(input),
        contentType: "application/json; charset=UTF-8",
        dataType: "json",
        success: function(data) {
             /// some logic


        },
        error : function(jqXhr, textStatus, errorThrown) {
            /// some logic
        }
    });

 //some other logic
}); 
4b9b3361

Ответ 1

может занимать от 2 до 30 минут

Я предполагаю, что это связано с большим объемом передаваемых данных.

У меня есть большой файловый загрузчик, который обрабатывает файлы размером 20 ГБ + и может длиться несколько часов.

По моему опыту - загрузка больших данных с помощью одного запроса ajax может вызвать странные сбои браузера (например, мой браузер Chrome сбой примерно в 20% тестов загрузки).

Самый надежный способ, который я нашел, - разделить данные на куски 1 МБ и отправить их последовательно на сервер с помощью отдельных запросов ajax.

Ответ 2

Мы проводим несколько дней в поисках причины этой проблемы!

  • В консоли: SCRIPT7002: XMLHttpRequest: Сетевая ошибка 0x2eff. Не удалось завершить операцию из-за ошибки 00002eff.
  • На вкладке сети IE/Edge мы видим неудавшийся запрос как "Ожидание..."
  • XmlHTTPRequest/JQuery возвращает ошибку 404 на клиенте, но сервер успешно возвратил ответ 200.

У нас была эта проблема только при использовании всего этого:

  • HTTP/2
  • POST-запросы
  • Windows 10
  • IE или Edge

По-видимому, это ошибка Windows 10 в стеке HTTP, которая теперь решается в Windows 10 версии 1803 (апрель 2018 года). Поэтому обычно эта проблема исчезает со временем для людей/компаний, использующих автоматические обновления Windows. Используется Windows 10 версии WorldWide

Мы проверили это на более старой и новой версии Windows 10, и она действительно решена.

Некоторое временное решение может быть:

  • отключите HTTP/2 для IE и Edge и используйте HTTPS (на стороне сервера).
  • используйте GET (если возможно)
  • PUT также имеет эту проблему?
  • сделать несколько попыток
  • принять, что пользователи IE/Edge будут наказаны ;-)

Ответ 3

В моем случае это был пользовательский код ответа (3020), возвращенный с сервера. Переключил его на 200 и изменил логику клиента SPA, это решило проблему.