Хорошо, но это можно сделать как комментарий вместо ответа

ер Firefox 3.0.10. Я запрашиваю страницу, используя Ajax. Ответ в процессе может быть в ReadyState менее 4. Тем временем я пытаюсь перезагрузить страницу. Запрос заканчивается, давая пустой ответ.

Я использовал оповещение, чтобы найти, какая строка была дана в качестве текста ответа. Я предполагаю, что к этому времени состояние готовности 4 достигнуто. Почему это пустая строка?

Когда я предупреждаю xmlhttpobject.status, он отображает 0.

Когда я предупреждаю xmlhttpobject.statusText, возникает исключение, сообщающее «НЕ ДОСТУПНО».

Когда я читаю в документеhttp://www.devx.com/webdev/Article/33024/0/page/2 сказано 3 и 4status а такжеstatusText доступны, но при тестировании доступен только статус, но не satausText.

Вот пример кода.

Считайте, что я запросил страницу, и моя функция обратного вызова выглядит следующим образом

function cb(rt)
{
   if(rt.readyState==4)
   {
      alert(rt.status);
      alert(rt.statusText); // which throws an exception
   }
}

и мой серверный скрипт выглядит следующим образом

sleep(30);
//flushing little drop down code

Помимо этого я заметил следующее.

Предположим еще раз, что я запрашиваю приведенный выше скрипт, используя Ajax. Теперь будет простоя 30 секунд. Перед этим 30 секунд я нажимаю обновить. Я получил xmlhttpobject.status as, 0, но браузер все еще не перезагружал страницу в течение этих 30 секунд. Зачем?

Когда я обновляю страницу до завершения Ajax-запроса, значение состояния устанавливается равным нулю, а состояние готовности устанавливается равным 4, но страница все еще ожидает завершения ответа от сервера.

Что происходит?

ПРИЧИНА ДЛЯ МЕНЯ, ЧТОБЫ ЛИШАТЬ НЕКОТОРОЕ, КАК ЭТО, КАК СЛЕДУЕТ.

Всякий раз, когда я делаю Ajax-запрос, если процесс завершается успешно, например, вставкой чего-либо или удалением чего-либо, я выскакиваю div, сообщающий, что он успешно обновился, и я перезагружаю страницу. Но если возникает какая-либо ошибка, я не перезагружаю страницу, а просто предупреждаю, что не смог обработать этот запрос.

Если пользователь перезагружает страницу до завершения любого из этих запросов, я получаю пустой ответ, который в моих вычислениях указывает на ошибку сервера. Поэтому я отлаживал ответ Ajax, чтобы отфильтровать, что соединение было прервано, потому что пользователь нажал перезагрузить. Поэтому на этот раз я не хочу отображать «невозможно обработать этот запрос», когда пользователь перезагружает страницу до того, как запрос будет завершен.

Ох ... длинная история. ЭТО ДЛИННОЕ ОПИСАНИЕ, ЧТО Я МОГУ СДЕЛАТЬ ЭКСПЕРТАМИ, ПОНИМАТЬ СОМНЕНИЕ.

Итак, что я хочу от вышеописанного.

Любой тип ответа очистит мой разум. Или я хотел бы сказать все типы ответов.

РЕДАКТИРОВАТЬ: 19 дек. Если я не получу правильного ответа, я удалю этот вопрос и перепишу с примерами. Остальное я приму после экспериментов.

Я создам демонстрационную программу и опубликую здесь ссылку, чтобы я мог понять, с чем я столкнулся. Сегодня 29.de.2010.

Ответы на вопрос(5)

Ваш ответ на вопрос