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

IE10/IE11 Abort Post Ajax-запрос после очистки кэша с ошибкой "Ошибка сети 0x2ef3"

SCRIPT7002: XMLHttpRequest: ошибка сети 0x2ef3, не удалось завершить операция из-за ошибки 00002ef3

В настоящий момент нет действительного решения.

Обновление: замечено также в IE11.

После все большего и большего количества исследований я пришел с такими результатами:

  • Проблема специфична для моего приложения, это не происходит на facebook.
  • Проблема не имеет ничего общего с максимальным количеством запросов на хост (я сделал примерную страницу, наводняющую сервер, IE10 способен обрабатывать до 8-10 запросов в то же время, внутри моего приложения, которое я также пытался сделать ajax запрашивает серийно, это также не удалось).
  • Проблема связана с запросами POST.
  • Проблема не специфична для используемой библиотеки JS (я попробовал прямое XMLHttpRequest с консоли, но также не удалось).
  • Сбой произошел после того, как xhr.send(), xhr.readyState = 4 и xhr.onreadystatechange запущены.
  • Сбой не связан ни с какими-либо типами содержимого, правильными запросами или конфигурацией сервера. Только клиент, запрашивающий фиктивную страницу, терпит неудачу, с минимальным XHR, просто xhr.open и xhr.send.
  • Это произошло в основном после очистки кеша браузера.
  • Выполнение запроса GET перед POST не решает эту проблему.

Мои вопросы:

  • Как браузерный кеш может влиять на запросы POST ajax?
  • Имеет ли какой-либо орган контакт с разработчиками IE, чтобы сообщить нам, к чему была связана эта ошибка "Ошибка сети 0x2ef3"?

В настоящее время временное решение, которое я выполняю, просто повторяет попытку максимум 3 раза, если код состояния HTTP был равен нулю. Но это очень уродливо, потому что иногда запросы на загрузку иногда не выполняются, и для этих запросов с повторением они становятся медленными, иногда это занимает дополнительные 100 мс.

Шаги для воспроизведения:

  • Убедитесь, что скрипт или прокси отключены.
  • http://ie10.laiths.name/#!login
  • Откройте консоль IE10, удалите кеш браузера.
  • Попробуйте этот недопустимый логин: [email protected]/random
  • Через 3-4 раза (clear-cache/invalid-login) вы увидите эту ошибку: SCRIPT7002: XMLHttpRequest: ошибка сети 0x2ef3, не удалось завершить операцию из-за ошибки 00002ef3.

Моя версия IE:

  • Версия Win7 IE10: 10.0.9200.16618
  • Обновить версию: 10.0.6 (KB2838727)

На данный момент я решаю его, повторив максимум 3 раза, если browser is IE10 && Request is POST && HTTP status code is 0.

Я был бы признателен, если кто-нибудь может помочь мне удалить мое уродливое решение, потому что с таким решением, даже если запрос отправляется на сервер, и он возвращает 0, я также повторю попытку (я пытался избежать этого, измеряя время между xhr.send и его обратный вызов, но он не является надежным), а что, если IE10 в comptMode, а что, если IE11 будет иметь такую ​​же проблему, добавьте к этой производительности, то он возьмет мою машину ~ 170ms между каждой попыткой.

4b9b3361

Ответ 1

Это может происходить из-за проблемы с сертификатом безопасности. Если вы очистите кеш, вы потеряете часть (если не все) информации о сертификате.

Дополнительную информацию (и обходной путь) можно найти в http://www.jonnyreeves.co.uk/2013/making-xhr-request-to-https-domains-with-winjs/

В основном это говорит о том, что вы должны выполнить GET перед запросом POST, чтобы обновить информацию о сертификате.

Ответ 2

У меня была эта проблема, запрос AJAX Post, который вернул некоторый JSON, потерпит неудачу, в конечном итоге возвратит прерывание с помощью:

SCRIPT7002: XMLHttpRequest: ошибка сети 0x2ef3

ошибка в консоли. В других браузерах (Chrome, Firefox, Safari) точно такой же запрос AJAX был в порядке.

Дальнейшее исследование показало, что в ответе отсутствовал код состояния - в этом случае это должно было быть 500 внутренних ошибок.

Это создавалось как часть веб-приложения С# с использованием стека служб, для которого явно должен быть установлен код ошибки.

IE, казалось, оставил соединение открытым, в конечном итоге сетевой слой закрыл его, и он "прервал" запрос; несмотря на получение содержимого и других заголовков.

Обновление веб-приложения для правильного возврата кода состояния устраняет проблему.

Возможно, есть проблема с тем, как IE обрабатывает заголовки в сообщениях.

Надеюсь, это поможет кому-то!

Ответ 3

У меня такая же проблема, и я стараюсь победить ее в течение недели, но теперь у меня нет результата, кроме одного дополнения к вам результатов, его исправления, если я добавляю сайт в зону интрасети, или другое решение, которое я открываю для настройки браузера, перейдите в раздел Безопасность чем нажмите "ОК", и запрос отправлен... такая же ошибка в IE 11

Ответ 4

Мы испытываем ту же проблему в IE 10 с помощью нашего мобильного инструмента для опроса "Опрос в любом месте"

Я опубликовал ответ на этот отчет об ошибке в Microsoft Connect. Если вы можете воспроизвести эту ошибку, укажите ее на сайте Microsoft Connect, чтобы ускорить разрешение.