AJAX+PHP: пример

2.  Далее создаем JavaScript-скрипт с нижеследующим содержимым:

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

function MyAjax(param) {
  if (window.XMLHttpRequest)
    req = new MyXmlHttpObject();
  method = ( !param.method ? "POST" : param.method.toUpperCase() );

  if (method=="GET") {
    send = null;
    param.url = param.url+"&ajax=true";
  } else {
    send = "";
    for (var i in param.data)
      send += i + "=" + param.data[i] + "&";
    send = send+"ajax=true";
  }

  req.open(method, param.url, true);
  if (param.statbox)
    document.getElementById(param.statbox).innerHTML = '<div>Пожалуйста подождите...</div>';
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  req.send(send);
  req.onreadystatechange = function() {
    if (req.readyState == 4 && req.status == 200) // - если все в порядке.
      if (param.success)
        param.success(req.responseText);
  }
}

function run_script() {
  MyAjax({
    url:"get_ajax.php",
    statbox:"status",
    method:"POST",
    data: {
      area_1:document.getElementById("area_1").value,
      area_2:document.getElementById("area_2").value
    },
    success:function(data){
      document.getElementById("status").innerHTML=data;
    }
  })
}
  • Функция MyXmlHttpObject() создает новый ActiveXObject: это будет либо Msxml2.XMLHTTP, либо Microsoft.XMLHTTP.
  • Функция MyAjax() обрабатывает заданные данные, вызывая MyXmlHttpObject().
  • Функция run_script() запускает весь скрипт, передавая MyAjax() полученные значения.
Опубликовано 7-01-2013 в 12:41


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты