X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Зависает Ajax в Ie7 при повторном запросе, где ie - там и проблемы
zetx
zetx
Topic Starter сообщение 3.10.2009, 17:51; Ответить: zetx
Сообщение #1


При выполнении первого запроса в ie7 все проходит гладко. Но при отправке второго запроса ie7 зависает и затем выкидывается по таймауту.
В чем может быть проблема? Заранее спасибо!
AJAX = new Object();

//Создадим два события, для загрузки и для ошибки
AJAX.onload  = 1;
AJAX.onerror = 1;

//Так же нам понадобятся два масива для хранения GET и POST параметров
AJAX.GET  = new Array();
AJAX.POST = new Array();

//Создадим две переменные, которые будут хранить результат
AJAX.text = null;
AJAX.xml  = null;

//Эта переменная при ошибке будет хранить описание ошибки
AJAX.errtext = null;

//Переменная для хранения таймера соеденения
AJAX.TIMEOUT = null;

//Инициализируем технологию AJAX
if(window.XMLHttpRequest) {
  AJAX.HTTP = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
  AJAX.HTTP = new ActiveXObject("Microsoft.XMLHTTP");
}

//Создадим функцию для обработки состояния соеденения
AJAX.HTTP.onreadystatechange = function() {
      alert(AJAX.HTTP.readyState);
  if(AJAX.HTTP.readyState == 4) {
    clearTimeout(AJAX.TIMEOUT);
    AJAX.TIMEOUT = null;
    if(AJAX.HTTP.status == 200) {
      AJAX.text = AJAX.HTTP.responseText;
      AJAX.xml = AJAX.HTTP.responseXML;
      //Если событие onload отслеживается, то сгенерируем его
      if(AJAX.onload !== null) AJAX.onload();
    }
    else {

      //Ошибка!!! Если событие onerror отслеживается, то сгенерируем его
      AJAX.errtext = AJAX.HTTP.statusText;
      if(AJAX.onerror !== null) AJAX.onerror();

    }

  }

}



AJAX.setPOST = function(vname, value) {
  AJAX.POST[vname] = value;
}



//Функция для отправки запроса серверу, в параметре передается путь и имя файла
AJAX.request = function(file) {
  var v;
  var post;
  AJAX.HTTP.abort(); //Закрываем предыдущие соеденение
  var url = file;


    AJAX.HTTP.open("POST", url, true);
    post = "";
    for(v in AJAX.POST) {
      post += v + "=" + encodeURIComponent(AJAX.POST[v]) + "&";
    }

  AJAX.HTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  AJAX.HTTP.setRequestHeader("Content-Length", post.length);
  AJAX.HTTP.setRequestHeader("Connection", "close");

  alert(post);
  AJAX.HTTP.send(post);
  AJAX.GET  = new Array();
  AJAX.POST = new Array();
  AJAX.TIMEOUT = setTimeout("AJAX.etimeout();", 300000);

}



//Создадим функцию для обработки таймаута
AJAX.etimeout = function() {
  AJAX.HTTP.abort();
  AJAX.errtext = "Timeout";
  if(AJAX.onerror !== null) AJAX.onerror();
}



  /* Вся оболочка представлена в виде объекта AJAX
   Наш объект имеет два события onload, происходящие при полной удачной загрузке, и onerror, происходящие в случае ошибки. Чтобы использовать эти события достаточно присвоить им функции*/

AJAX.onload = function() {
  //Здесь обрабатываем удачную загрузку

}

AJAX.onerror = function() {
//здесь обрабатываем ошибки

}
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
azacg
azacg
сообщение 3.10.2009, 20:09; Ответить: azacg
Сообщение #2


В чем может быть проблема?

единственная проблема в ie =)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
7 stu999 1753 31.3.2024, 11:19
автор: stu999
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44903 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Получил странную ссылку при линкбилдинге
Как поведет себя поиск при обнаружении странной ссылке?
10 r0mZet 2203 24.10.2022, 19:23
автор: Wachowski
Горячая тема (нет новых ответов) 300 площадок под вечные ссылки на выбор: ТИЦ 20-9400, PR 0-6, ЯК, DMOZ. Скидки при пакетном заказе!
65 inkon 30375 19.7.2022, 13:41
автор: Funoman
Горячая тема (нет новых ответов) тИЦ отменили! Новый показатель Яндекса ИКС! Лучшие площадки под размещение. Бесплатное написание статей при любом заказе.
Эксклюзивное предложение. Успей получить написание статей БЕСПЛАТНО
71 VIMstat 78474 21.6.2022, 9:38
автор: VIMstat


 



RSS Текстовая версия Сейчас: 19.4.2024, 6:45
Дизайн