Показать сообщение отдельно
  #1 (permalink)  
Старый 01.05.2011, 03:58
Интересующийся
Отправить личное сообщение для vamfirius Посмотреть профиль Найти все сообщения от vamfirius
 
Регистрация: 01.07.2010
Сообщений: 29

Проблема с AJAX в IE
Всем доброго дня.

IE при отладке скрипта выдает Системная ошибка: -1072896658.

Использую код с этого сайта из примера про аякс чуть измененный под себя.

Функция создания объекта абсолютно без изменений -

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;
	}


Далее функцию vote я изменил под свои нужды -

function request(path,id){
		var req = getXmlHttp()
		req.onreadystatechange = function() {  
			if (req.readyState == 4) {
				if(req.status == 200) {
					document.getElementById(id).disabled = false;
					document.getElementById(id).innerHTML = req.responseText;
				}
			}
		}
		req.open('GET', path, true);  
		req.send(null);
	}


И собственно функция которая повешена на обработчик -

function sel_fill(id){
		var sel1Val = document.getElementById('sel1').value;
		var sel2Val = document.getElementById('sel2').value;
		var sel3Val = document.getElementById('sel3').value;
		var path;
		switch (id){
			case 'sel1': path = 'system/ajax/shini_form.php?type='+'sel2&car='+sel1Val;request(path,'sel2');break;
			case 'sel2': path = 'system/ajax/shini_form.php?type='+'sel3&car='+sel1Val+'&year='+sel2Val;request(path,'sel3');break;
			case 'sel3': path = 'system/ajax/shini_form.php?type='+'sel4&car='+sel1Val+'&year='+sel2Val+'&model='+sel3Val;request(path,'sel4');break;
		}
	}


Проблемная строка в функции request() -
document.getElementById(id).innerHTML = req.responseText;

IE выдает ошибку которую я указал выше. Не думаю конечно что ошибка именно на этом участке, корни скорее всего где-то в другом месте и мне не хватает ума понять где именно.

PHP файл думаю не играет роли потому что я пробовал заменять его на -

echo 'hello';

Результат тот же.

Еще думаю полезно будет сказать что если убрать все GET переменные из урла, ошибка не появляется, а req.responseText выдает пустой результат.

Помогите плиз разобраться что я делаю не так.
Ответить с цитированием