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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Участник
***

Группа: Banned
Сообщений: 211
Регистрация: 9.8.2009
Из: Россия
Поблагодарили: 15 раз
Репутация:   8  


При выполнении первого запроса в 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


Новичок
*

Группа: Viewer
Сообщений: 9
Регистрация: 30.6.2009
Поблагодарили: 2 раза
Репутация:   0  


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

единственная проблема в ie =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3414 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Переносится ли вес и тИЦ от входящих ссылок при 301 редиректе
11 Bel_Ami 2902 11.12.2017, 20:50
автор: alexandrrr
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыОшибка при создании шаблона страницы ВП
Нет картинок
5 semarg 705 9.12.2017, 15:36
автор: Nell
Горячая тема (нет новых ответов) 300 площадок под вечные ссылки на выбор: ТИЦ 20-9400, PR 0-6, ЯК, DMOZ. Скидки при пакетном заказе!
61 inkon 14001 7.12.2017, 20:28
автор: inkon
Горячая тема (нет новых ответов) Apple признала: Экран iPhone X отказывает при температуре ниже нуля
46 Astralis 3363 26.11.2017, 1:35
автор: Стэнли


 



RSS Текстовая версия Сейчас: 15.12.2017, 10:48
Дизайн