Показать сообщение отдельно
  #1 (permalink)  
Старый 19.05.2011, 00:03
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

AJAX не работает в IE
У меня есть маленький сайт, он полностью на ajax. Все везде работает, кроме IE. Когда, например, шелкаешь в меню что-то, то скрипт срабатывает, запрос происходит, все норм. Но в IE, когда посылаешь второй (другой) запрос (шелкаешь ВТОРОЙ раз), ничего не пашет.
Код взят с этого сайта, javascript.ru:
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}
var request=getXmlHttp();

потом идет моя функция для меню...
function Menu(elem){
	if ((elem.id=='Main_Lg' || elem.id=='Main_Bt') && (location.hash == '#:Main')){} //если мы на главной странице, и делается запрос на нее же - ничего не делаем
	else{
		var PhpFile, HashValue, Values;
		(elem.id=='Main_Lg' || elem.id=='Main_Bt')? (PhpFile = 'Main.php', HashValue = 'Main', Values = '') : (PhpFile = 'Instrument.php', HashValue = 'Instrument|Name='+elem.id, Values = encodeURI('?Name='+elem.id));
		request.onreadystatechange=function(){//если все готово - начинаем запрос
			if(request.readyState==4){// если запрос закончил выполняться
				if (request.statusText=='Not Found'){// если статус Not Found, то...
						ChangblContnt.innerHTML = NotFoundText;// показываем NotFoundText
					}
				else if(request.status==200){// если статус 200 (ОК) - выдать ответ пользователю
					ChangblContnt.innerHTML=request.responseText;//ответ php файла
					Title.innerHTML = document.getElementById('TtlChngrDv').innerHTML;// меняем title
				}
			}
		}
		request.open('GET', PhpFile+Values, !0);//адрес подключения, !0=true
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//тип header
		request.send(null);//посылаем данные
		ChangblContnt.innerHTML = Loading;//показываем анимационную gif
		location.hash = ':' + HashValue;// меняем hash
	}
}

Я знаю, у меня ужасный код , но пытаюсь по чучуть учитья, не бейте сильно. В общем, помогите разобратся почему не пашет в IE, сайт - http://noty.vestnikistiny.info/

Последний раз редактировалось yashka525, 20.05.2011 в 00:51.
Ответить с цитированием