Показать сообщение отдельно
  #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");
				}
Ответить с цитированием