Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2011, 12:09
Новичок на форуме
Отправить личное сообщение для LyWf Посмотреть профиль Найти все сообщения от LyWf
 
Регистрация: 28.12.2010
Сообщений: 8

Ajax + Denwer не работает
readystate = 1 и всё. Проверил несколько раз код. FF 4 beta 11, IE 8 - результат одинаков. Denwer 3 с PHP 5.2. Где я не прав и что я не понимаю? Во вложении полный код. Буду благодарен за помощь.
function initReq() { //body onLoad
	xmlHttp = false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) {
  		try {
    			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  		}
		catch (e2) {
    			xmlHttp = false;
  		}
	};
	@end @*/

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

function chkData(whatCheck) { //input_text onChange
	if (whatCheck == "nick") {
		var nick = document.getElementById("nick").value;
		if ((nick == null) || (nick == "")) return false;
		var url = "/chkdata.php?nick=" + escape(nick);
	}
	else if (whatCheck == "email") {
		var email = document.getElementById("EMail").value;
		if ((email == null) || (email == "")) return false;
		var url = "/chkdata.php?email=" + escape(email);
	};
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = updatePage(whatCheck);
	xmlHttp.send(null);
};

function updatePage(whatUpdate) {
	if (xmlHttp.readyState == 4) {
		var response = xmlHttp.responseText;
		if (whatUpdate == "nick") {
			document.getElementById("isNick").innerHTML = response;
		}
		else if (whatUpdate == "email") {
			document.getElementById("isEMail").innerHTML = response;
		};
	};
	alert(xmlHttp.readyState);
};
Вложения:
Тип файла: zip www.zip (1.7 Кб, 0 просмотров)

Последний раз редактировалось LyWf, 15.02.2011 в 12:11.
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2011, 16:20
Новичок на форуме
Отправить личное сообщение для LyWf Посмотреть профиль Найти все сообщения от LyWf
 
Регистрация: 28.12.2010
Сообщений: 8

На хосте тоже не работает. Всё так же. Значит, у меня что-то не правильно. Кто поможет?
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2011, 16:34
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от LyWf
xmlHttp.onreadystatechange = updatePage(whatCheck);
Здесь не надо вызывать updatePage.
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2011, 17:25
Новичок на форуме
Отправить личное сообщение для LyWf Посмотреть профиль Найти все сообщения от LyWf
 
Регистрация: 28.12.2010
Сообщений: 8

Оу. Хм. Хорошо, а где его тогда вызывать? Или другое событие надо использовать? Я же не могу убрать обратный вызов ф-ции.
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2011, 17:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Её не надо вызывать, xmlHttp сам её вызовет. В onreadystatechange должна лежать функция, а не результат работы функции.
Ответить с цитированием
  #6 (permalink)  
Старый 16.02.2011, 22:16
Новичок на форуме
Отправить личное сообщение для LyWf Посмотреть профиль Найти все сообщения от LyWf
 
Регистрация: 28.12.2010
Сообщений: 8

Понял, деревянная моя голова! =). Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LightBox + ajax = Не работает ((( xmartinesx jQuery 2 11.10.2010 16:32
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11