Подскажите с XMLHttpRequest

Статус: Offline
Реєстрація: 08.02.2010
Повідом.: 80
Изучаю javascript, добрался до Ajax-a и натолкнулся на прблемы. Уже голова квадратная, а понять не могу.
Вот код.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<script type="text/javascript">

function zapros(){
function getXmlHttp(){
var xmlhttp;

try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
xmlhttp = false;
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}


var xmlhttp = getXmlHttp()
xmlhttp.open('GET', '
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
, true);
xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
document.getElementById('#1').innerHTML=xmlhttp.responseText;
}
}

};
xmlhttp.send(null);
};
</script>
</head>
<body>
<h2 id="#1">Меняем тут!</h2>
<input type="button" onclick="zapros()"/>
</body>
</html>


В ИЕ программа работает как часики, а в Firefox, Opera, Chrome вообще не работает, xmlhttp.responseText пустой, в Firefox пишется ошибка "Предупреждение: Пустая строка не может быть аргументом метода getElementById()"
Подскажите, куда копать? Везде, где бы ни читал, подобный код описан как рабочий и кроссбраузерный.
Код t.php <?echo mt_rand(0,100);?>, просто что-бы что-то получать в ответе.



Дополнение! Просмотрел все readyState, которые возвращаются браузерами.
IE 1,2,3,4
Chrome, Firefox 1,2,4
Opera 2
Как это понять? Получается, Chrome i Mozilla не получают ответ от сервера? Или я не прав? И вообще, это только у меня неудача такая или кто-то еще с подобным сталкивался?
 
Останнє редагування:
хватит юзать всякое г.
Юзай фреймверки: jquery, exjs, etc
 
Разобрался, но не полностью:))) Упражнялся на локалхосте, использовал Денвер. Когда все зат-хало, выложил файлы на хостинг, и все работает!!! Значит, проблемы были сервером? Теперь другой вопрос- что надо настраивать в локалхосте?
 
Когда-то для кроссбраузерности делал примерно так:

function createRequestObject()
{
if (XMLHttpRequest == undefined) {
XMLHttpRequest = function() {
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e) {}
throw new Error("This browser does not support XMLHttpRequest.");
};
}
return null;
}

Сейчас, если надо, использую фреймворки чего и вам желаю)
 
С кроссброузерностью все в порядке, проблемы были с сервером. Почему-то все, кроме IE отказывалось получать ответ с сервера, хотя запрос проходил. Может, виноват Денвер? В любом случае, вывод - локалхост и реальный сервер провайдера - разные вещи!
Не спорю, фреймворки-хорошо, только ведь интересно - а как ОНО работает)))
 
FireBug с Firefox в помощь - очень помогает отслеживать запросы и все остальное
 
Денвер сборка не нараивится, можешь собрать и знатива или я юзаю XAMPP
 
Та забудьте про эти ксамп/вамп/денвер паки. Поставить тот же апач, майскл и рнр займет по манюалу максимум минут 15. Почему? Хотябы потому что надо иметь понятие о том как и что работает. Ато потом возникают вопросы что такое виртуалхост и т.д. Денвер так вообще использует попилянный апач.
 
К ксампу притензий нет 99% все что тетится на локале на хампе заживает на серваке
 
В общем, всем спасибо! Типа "простая" javascript на деле оказалась хитрым зверьком:)))
Кстати, с Денвером проблем вообще никогда не было, PHP работает исключительно беспроблемно!

И тогда вопрос - посоветуйте литературу по JQuery. Посмотрел в Яндексе, но толкового и понятного ничего пока не нашел. Все что видел - написано с пипец какими "кучерявыми пальцами" и сразу на примерах, без рассмотрения синтаксиса, конструкций и тп. Выводи правила сам из примеров:)))
 
В общем, всем спасибо! Типа "простая" javascript на деле оказалась хитрым зверьком:)))
Кстати, с Денвером проблем вообще никогда не было, PHP работает исключительно беспроблемно!

И тогда вопрос - посоветуйте литературу по JQuery. Посмотрел в Яндексе, но толкового и понятного ничего пока не нашел. Все что видел - написано с пипец какими "кучерявыми пальцами" и сразу на примерах, без рассмотрения синтаксиса, конструкций и тп. Выводи правила сам из примеров:)))

То сейчас нет проблем, впрочем дело ваше. А по поводу jquery советую читать доку и статьи на docs.jquery.com
 
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
 
Назад
Зверху Знизу