Добрый день!
Списал программу разобрался все работает...и тут понял что вовсе и не все..не понял один нюанс
строчка
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");
}