Ajax (програмиране): Разлика между версии

от Уикипедия, свободната енциклопедия
Изтрито е съдържание Добавено е съдържание
SassoBot (беседа | приноси)
м Робот Изтриване: hu:Ajax
Редакция без резюме
Ред 107: Ред 107:
[[vi:Ajax (lập trình)]]
[[vi:Ajax (lập trình)]]
[[zh:AJAX]]
[[zh:AJAX]]

*** Външни препратки ***
[http://www.technologybulgaria.com/asynchronous-javascript-and-xml-ajax.html Asynchronous JavaScript And XML AJAX]

Версия от 15:09, 28 март 2009

AJAX (АДЖАКС, Асинхронен ДЖАваскрипт и хиКСемел, Asynchronous JavaScript and XML) е похват в уеб разработките за създаване на интерактивни уеб приложения. Идеята е уеб страниците да станат по-впечатляващи чрез асинхронен обмен на малки порции данни „зад кадър“, така че да не бъде необходимо да се презарежда цялата страница отново. По този начин се повишава интерактивността, скоростта и функционалността на страниците.

AJAX техниката се използва като комбинация от:

  • XHTML (или HTML) и CSS за форматиране и ошрифтяване на текста.
  • DOM (Document Object Model) реализиран чрез програмиране от страна на клиента с помощта на езици като JavaScript и JScript за динамична визуализация и интерактивност на предоставената информация.
  • XMLHttpRequest обекта за обмяна на данни асинхронно с уеб сървър. В някои случаи се използва IFrame обекта вместо XMLHttpRequest.
  • XML в някои случаи е използвания формат за трансфер на данни между сървър и клиент. Все пак всеки формат е удачен, включително преформатиран HTML, чист текст, JSON и др.

Сам по себе си AJAX не е технология, а термин за употребата на група технологии. За първи път се споменава февруари 2005 г. от Джеси Джеймс Гарет в статията му „Ajax: A New Approach to Web Applications“.

Пример за използването на AJAX

Javascript

function makeRequest()
{
  var http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari, ...
     http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
           http_request.overrideMimeType('text/xml'); // Фиксиране на някои проблеми
        }
  } else if (window.ActiveXObject) { // IE
       try {
          http_request = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
       }
  }
  if (!http_request) {
     alert('Възникна проблем при създаването на XMLHTTP връзка');
     return false;
  }
  return http_request;
}
function testAJAX()
{
  var http_request = makeRequest();
  var info = "Някаква информация";
  var url = 'link/to/server/file/ajax.php?test=' + info;
  http_request.open('GET', url, true);
  http_request.onreadystatechange = function() { testResponse(http_request); };
  http_request.send(null);
}
function testResponse(http_request)
{
  if (http_request.readyState == 4 || http_request.readyState == 'complete') { // Проверка...
     if (http_request.status == 200) { // Втора проверка...
        alert(http_request.responseText); // Действие с получената информация
     } else {
        alert('Има проблем с получаването на информация');
     }
  }
}

PHP

<?php
  if (isset($_GET['test'])) {
     echo "Връщане на информация";
  }
?>
      • Външни препратки ***

Asynchronous JavaScript And XML AJAX