js

js


var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject()

{

 var xmlHttp;

 if(window.ActiveXObject){

  try{

   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

  }

  catch (e)

  {

   xmlHttp = false;

  }

 }

 else

 {

  try

  {

   xmlHttp = new XMLHttpRequest();

  }

  catch (e)

  {

   xmlHttp = false;

  }

 }

 if (!xmlHttp){

  alert("Ошибка создания объекта XMLHttpRequest.");

 }

 else{

  return xmlHttp;

 }

}

function process()

{

 if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)

 {

  name = encodeURIComponent(document.getElementById("myName").value);

  xmlHttp.open("GET", "quickstart.php?name=" + name, true);

  xmlHttp.onreadystatechange = handleServerResponse;

  xmlHttp.send(null);

 }

 else{

  setTimeout('process()', 1000);

 }

}

// вызывается автоматически по прибытии сообщения от сервера

function handleServerResponse()

{

// продолжать можно только если транзакция с сервером завершена

 if (xmlHttp.readyState == 4)

 {

 // значение 200 говорит о том, что транзакция прошла успешно

  if (xmlHttp.status == 200)

  {

   // извлечь XML, полученный от сервера

   xmlResponse = xmlHttp.responseXML;

   // получить корневой элемент в структуре XML

   xmlDocumentElement = xmlResponse.documentElement;

   // извлечь текстовое сообщение, которое находится в первом

   // дочернем элементе корневого узла

   helloMessage = xmlDocumentElement.firstChild.data;

   // обновить текст сообщения на экране

   document.getElementById("divMessage").innerHTML =

   '<i>' + helloMessage + '</i>';

   // повторить последовательность действий

   setTimeout('process()', 1000);

  }

  // код статуса HTTP, отличный от 200, говорит о наличии ошибки

  else

  {

   alert("При обращении к серверу возникли проблемы: " +

   xmlHttp.statusText);

  }

 }

}


Report Page