Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2012, 10:12
Аватар для newprogramm
Интересующийся
Отправить личное сообщение для newprogramm Посмотреть профиль Найти все сообщения от newprogramm
 
Регистрация: 21.10.2012
Сообщений: 11

Помогите понять логику программы
Добрый день!

Списал программу разобрался все работает...и тут понял что вовсе и не все..не понял один нюанс
строчка
reg.onreadystatechange = onReadyState;

ее можно вставить в 2 места (20 и 24 строчка)и все будет работать...у мя вопрос если вставить в место один то выполнятся onReadyState в этой ф-и есть проверка
if(ready == READY_STATE_COMPLETE)
					{
						data = reg.responseText;						
					}

и вот вопрос как можно получить ответ с сервера если методы
reg.open(HttpMethod,url,true);
reg.setRequestHeader('Content-Type','aplication/x-www-form-urlencoded');
reg.send(params);


указаны после reg.onreadystatechange = onReadyState, ведь зацикливания нет и все должно выполняться последовательно...
var reg = null;
			var console = null;
			
			var READY_STATE_UNINITIALIZED = 0;
			var READY_STATE_LOADING = 1;
			var READY_STATE_LOADED = 2;
			var READY_STATE_INTERATIVE = 3;
			var READY_STATE_COMPLETE = 4;
			
				function sendRequest(url,params,HttpMethod)
				{
					if(!HttpMethod)
					{
						HttpMethod = 'GET';
					}
					reg = initXMLHTTPRequest();
					
					if(reg)
					{
					// место 1
						reg.open(HttpMethod,url,true);
			    		reg.setRequestHeader('Content-Type','aplication/x-www-form-urlencoded');
						reg.send(params);
						reg.onreadystatechange = onReadyState;// место 2	
	}
					else
					{
						alert("регистрация не прошла");
					}
				}
				
				function initXMLHTTPRequest()
				{
					var xRequest = null;
					if(window.XMLHttpRequest)
					{
						xRequest = new XMLHttpRequest();
					} else if(window.ActiveXObject)
					{
						xRequest = new ActiveXObject("Microsoft.XMLHTTP");
					}
					return xRequest;
				}
				
				function onReadyState()
				{
					var ready = reg.readyState;
					var data = null;
					
					if(ready == READY_STATE_COMPLETE)
					{
						data = reg.responseText;						
					}
					else
					{
						data = "Не торопись...["+READY+"]";	
						alert('4');
					}
					toConsole(data);
				}
				
				function toConsole(data)
				{
					if(console != null)
					{
						var newline = document.createElement("div");
						console.appendChild(newline);
						var txt = document.createTextNode(data);
						newline.appendChild(txt);
					}
				}
				
				window.onload = function (){
		
				 console =document.getElementById('console');
				 sendRequest("data.txt");
				}
Ответить с цитированием
  #2 (permalink)  
Старый 22.10.2012, 10:19
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

onreadystatechange это событие и в данной строке этому событию устанавливается функция onReadyState, а сработает она когда произойдёт это событие.
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2012, 10:32
Аватар для newprogramm
Интересующийся
Отправить личное сообщение для newprogramm Посмотреть профиль Найти все сообщения от newprogramm
 
Регистрация: 21.10.2012
Сообщений: 11

то есть грубо говоря onreadystatechange сработает только тогда когда ответит сервер...я правильно понял...а то в гугле я нашел тока фразу "Событие наступает при изменении состояния элемента страницы." иничего больше не найти
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2012, 10:35
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

События наступают в такие моменты:
var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_INTERATIVE = 3;
var READY_STATE_COMPLETE = 4;
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 22.10.2012, 10:43
Аватар для newprogramm
Интересующийся
Отправить личное сообщение для newprogramm Посмотреть профиль Найти все сообщения от newprogramm
 
Регистрация: 21.10.2012
Сообщений: 11

Все понял!!!...спс...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите понять код с замыканием alexandr_poskrobka Общие вопросы Javascript 4 04.10.2012 21:44
Помогите понять поведение скрипта demoniqus Общие вопросы Javascript 3 02.03.2012 09:58
Анимация. Помогите понять почему не работает. kadurban jQuery 4 08.07.2010 20:50
Помогите понять куда копать warobushek Общие вопросы Javascript 10 13.05.2010 19:25
Помогите понять что надо "Удобное дерево" Fridrih AJAX и COMET 2 02.04.2010 10:12