Браузер Internet Explorer Проблема: Браузер не отправляет данные POST с Ajax-запросами, зависает сервер / клиент - PullRequest
0 голосов
/ 29 ноября 2011

У меня возникла проблема, когда браузер не отправляет данные POST из ajax-запроса, и сервер ожидает их и зависает.Браузер, в основном IE8, отправляет информацию заголовка, а длина содержимого составляет 36, но сервер никогда не получает эти 36 байтов данных.

Это также описывает проблему, есть ли у кого-нибудь еще другие решения:

IE зависает на 5 минут при вызове синхронного xmlhttprequest

Это происходит примерно в 10% всех запросов.

Что может вызвать эту проблему?Есть ли способ защититься от этого.Похоже, это происходит в основном со стороны клиента.И, возможно, пользователь прервет свое интернет-соединение и подключится обратно.

Вот фрагмент кода платформы:

wicket-ajax.js: ... вызов Javascript на клиентеside:

  1. t.open ("POST", url, this.async);
  2. t.onreadystatechange = this.stateChangeCallback.bind (this);
  3. t.setRequestHeader ("Content-Type", "application / x-www-form-urlencoded");
  4. // установить специальный флаг, чтобы сервер мог различать запросы ajax и non-ajax
  5. t.setRequestHeader ("Wicket-Ajax", "true");
  6. t.setRequestHeader ("Accept", "text / xml");
  7. t.send (body);

vÝMon 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ПОДРОБНЕЕ: POST
... Ý понедельника 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ПОДРОБНЕЕ: Примите:
text / xml
onMon 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ:
Accept-Language: en-us
ÝMon 28 ноября 12:36:24 2011¨ 000ee03c 0000999a -ДЕТАЛИ: wicket-ajax:
true
onMon Nov 28 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ: Реферир:
https://data.com/l/launch/
onМон 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ:
wicket-focussedelementid: id1924
OnМон 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ: Тип контента: application / x-www-form-urlencoded
ÝМон 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ:
Accept-Encoding: gzip, deflate
ÝMon 28.11 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ: Пользователь-агент:
Mozilla / 4.0 (совместимо;MSIE 8.0;Windows NT 5.1;Trident / 4.0;.NET CLR 2.0.50727;MS-RTC LM 8)

ÝМесяц 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - ДЕТАЛИ:
Длина контента: 36
ÝМесяц 28 ноября 12:36:24 2011¨ 000ee03c 0000999a- DETAIL: Cache-Control: без кэширования
ÝПол 28 ноября 12:36:24 2011¨ 000ee03c 0000999a - DETAIL: Cookie:
... Отправляет данные запроса заголовка, но это ВСЕ.

Конфигурация Arch: Сервер: IBM Websphere 6 с плагином IHS.Калитка 1.4.13.Java6.Клиентская сторона - это в основном Internet Explorer 8, 9. Режимы совместимости и несовместимости.

1 Ответ

0 голосов
/ 29 ноября 2011

Это может быть проблема с кешем. Я предлагаю вам подделать, меняя URL каждый раз при отправке. Итак, ваш код может выглядеть так

    var d = new Date();
    t.open("POST", url+d.valueOf(), this.async);

Итак, ваш URL никогда не будет дублироваться. Это помогает предотвратить проблему с кешем.

...