Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2010, 18:09   #1
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию Ajax. Видимость XMLHttpRequest.

Вот имеется функция обработчик onclick кнопки на странице:
Код:
function getData()
{
	var XMLHttpRequestObject = new XMLHttpRequest();
	
	XMLHttpRequestObject.open('GET','URL...');

	XMLHttpRequestObject.onreadystatechange = function()
	{
		if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
			
			var result = XMLHttpRequestObject.responseText;
			.
			.
			.
		}
		
	}
	XMLHttpRequestObject.send(null);
}
Вопрос такой: Объект XMLHttpRequestObject является локальным (var), т.е после завершения функции getData() он должен уничтожиться. Так как же он реализован, что продолжает существовать и вызывать анонимную функцию обработчик после завершения функции getData()? Сама функция обработчик анонимная, поэтому даже после завершения работы getData() имеет доступ к объекту XMLHttpRequestObject (к примеру XMLHttpRequestObject.responseText). Но как происходит вызов анонимной функции?? По идее вызов должен быть c использование объекта -
Код:
XMLHttpRequestObject.onreadystatechange()
которого уже не должно существовать ???

Последний раз редактировалось Викдон; 03.08.2010 в 18:15.
Викдон вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX prizrak1390 Свободное общение 10 08.06.2010 16:01
AJAX Namolem Помощь студентам 1 08.02.2010 22:40
Ajax и сессии ADSoft PHP 7 23.01.2009 17:10