Mus remia Hostingas.inJei užsiregistruosite per šią nuorodą - gausite 1 lt.

Ajax įvadas

AJAX arba Asinchroninis JavaScript ir XML programavimas – terminas, apibrėžiantis svetainių programavimo technologiją, naudojančią šias priemones maksimaliam interaktyvumui pasiekti:

* HTML (ar XHTML) bei stilių lenteles (Cascading Style Sheets) informacijos vaizdavimui * Dokumento Objektinį Modelį (DOM) bei JavaScript kalbą dinamiškam vaizdavimui bei interaktyvumui * XML, XSLT ir XMLHttpRequest objektą asinchroniniam duomenų apsikeitimui su serveriu (AJAX tam galėtų naudoti ir kitas technologijas).

Kaip ir DHTML ar LAMP, AJAX nėra technologija, bet tik abstraktus terminas, apimantis kelių technologijų kombinaciją.

Technologija priverčianti Ajax dirbti yra XMLHttpRequest JavaScript objektas. XMLHttpRequest pirmą kartą buvo panaudotas Microsoft kaip ActiveX objektas IE 5.0 naršyklėje (1999 Kovas). Mozilla pridėjo XMLHttpRequest objektą Mozilla 1.0 ir Netscape 7 naršyklėms (2001 Kovas). Po to sekė Apple kompanijos naršyklė Safari 1.2 (2004 Vasaris) ir Opera pradėjo taikyti nuo versijo 8.5 (2005 Rugsėjis).

Ajax veikimo principas

Žemiau pateiktame paveikslėlyje pateikta kaip vyksta Ajax scenarijus su XMLHttpRequest panaudojimu.
Ajax

Pirmas žingsnis

Ajax procesas prasideda nuo DOM įvykio. Pirmame žingsnyje jums reikia aprašyti XMLHttpRequest objektą. Tai papraščiausiai daroma panaudojant funkciją kaip pateikta žemiau, taigi ta veiks su skirtingomis naršyklėmis:

function GetXMLHttpRequest() 
{
    var object = null;
 
    if (window.XMLHttpRequest) 
    {
        object = new XMLHttpRequest();
    } 
    else if (window.ActiveXObject) 
    {
        try
        {
            object = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
        }
 
        if (object == null)
        {
            try
            {
                object = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
            }
        }
    }
 
    if (object == null)
    {
        alert("Jūsų naršyklė nepalaiko Ajax");
    }
 
    return object;
}

Po to kai turite jau XMLHttpRequest objektą,po to jums reikia nustatyti 'onreadystatechange' atsakymo funkciją, taip pat siuntimo/atidarymo metodus panaudojant kodą:

XMLHttpRequestObject.onreadystatechange = ProcessRequest;
XMLHttpRequestObject.open("GET", url, true);
XMLHttpRequestObject.send(data);

Antras žingsnis

Antrame žingsnyje turite turėti „prižiūrėtoją“ kuris stebi veiksmus gaunamus iš serverio po vykdomo kodo. „Prižiūrėtojas“ gali būti CGI ar kitas serverio pusėje vykdomas kodas, kaip PHP, ASP, ar JSP.

Trečias žingsnis

Trečiame žingsnyje jums reikia atlikti veiksmus kurie buvo gauti su ProcessRequest funkcija. Tai turėtų atrodyti panašiai kaip žemiau pateiktas kodas:

function ProcessRequest() 
{
    if (XMLHttpRequestObject.readyState == 4) 
    {
        if (XMLHttpRequestObject.status == 200) 
        {
            var result = Parse();
            if (result)
            {
                // Atnaujinam HTML kur turi būti išvesti rezultatai
            }
        } 
        else
        {
            // Gauta klaida.
        }
    }
}

Visada pasitikrinkite būsenos kodus.
Galimi XMLHttpRequestObject.readyState kodai yra:

  • 0 gaunama
  • 1 kraunama
  • 2 užkrauta
  • 3 sąveikaujama
  • 4 atlikta

XMLHttpRequestObject.status tai tiesiog Apache klaidų kodai.

Papildoma informacija

Puslapiai, sukurti naudojant AJAX technologija, reikalauja naršyklių, palaikančių šias technologijas. Tokios naršyklės yra Mozilla Firefox, Internet Explorer, Opera, Konqueror ir Safari.

AJAX puslapių ypatumai

Tradicinių svetainių interaktyvumas kuriamas kaskart kreipiantis į serverį. Pavyzdžiui, užpildžius anketą (ar formą), kreipiamasi į serverį ir užkraunamas naujas puslapis. Tokiu būdu bereikalingai iššvaistomi resursai, nes didelė dalis informacijos nepakinta ir siunčiama kaskart iš naujo. Taip pat tokiu būdu neįmanoma pasiekti tokio interaktyvumo, kokį gali suteikti ne internetinės aplikacijos.

AJAX svetainės gali siųsti užklausas serveriui, gauti atsakymą tam tikra apsibrėžta forma (SOAP ar kita XML paremta), bei naudojant JavaScript programavimą atnaujinti tik reikiamą puslapio dalį. Tokiu būdu sutaupomi tinklo resursai, nes žymiai sumažinami duomenų srautai. Taip pat taupomi ir serverio procesoriaus resursai, nes dalis logikos perkeliama klientui..

Privalumai bei trūkumai

Kaip ir DHTML svetainėms, AJAX svetainėms reikia žymiai daugiau testavimo, nes kiekviena naršyklė gali elgtis šiek tiek skirtingai. Tačiau naudojant šią technologiją paspartinamas interaktyvumas. Naudojant AJAX, padaugėja mikro-užklausų į serverį, tai neapgalvotai naudojant gali sulėtinti bendravimą tarp kliento ir serverio.

Kartais sunku ar net neįmanoma AJAX svetainių pritaikyti nepalaikomoms naršyklėms, taip pat sudėtinga pritaikyti svetaines standartams, kurie atsižvelgia į žmones su negalia…

Nuorodos

Keletas svetainių, sukurtų naudojant šią technologiją:


Asmeniniai įrankiai