23 августа 2012 г.

ajax выполнение скрипта

<script>
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function vote() {
    //создать объект для запроса к серверу
    var req = getXmlHttp()  
       
     // span рядом с кнопкой
    // в нем будем отображать ход выполнения
    var statusElem = document.getElementById('vote_status') 
    
    req.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

        if (req.readyState == 4) { 
            // если запрос закончил выполняться

            statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)

            if(req.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
                alert("Ответ сервера: "+req.responseText);
            }
            // тут можно добавить else с обработкой ошибок запроса
        }

    }

       //задать адрес подключения
    req.open('GET', 'vote.php', true);  

    // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
    // для обработки ответа сервера
     
    req.send(null);  // отослать запрос
 
    statusElem.innerHTML = 'Ожидаю ответа сервера...' 
}
</script>

<input value="Голосовать!" onclick="vote()" type="button" />
<div id="vote_status">Здесь будет ответ сервера</div>