/ / Ajax - kas tai? Asinchroninis JavaScript ir XML: privalumai ir trūkumai

Ajax - kas tai yra? Asinchroninis JavaScript ir XML: privalumai ir trūkumai

Dabar galite tai pastebėti internetenaujų technologijų naudojimas ir taikymas tampa vis populiaresnis. Vienas iš jų yra "AJAX". Kas tai yra Kokias savybes jis turi? Kur jis taikomas? Į visus šiuos klausimus galima atsakyti pagal šį straipsnį.

Bendra informacija

ajax, kas tai yra
Kaip AJAX yra iššifruoti? Ką tai reiškia? Ši santrumpa yra santrumpa. Tai reiškia asinchroninį Javascript ir XML ("Asinchroninis Javascript ir IKMLL"). Dažnai galite matyti ar išgirsti informaciją, kad tai yra nauja technologija. Bet tai nėra visiškai teisinga. Faktas yra tas, kad Javascript ir XML egzistuoja gana ilgą laiką, o "Ajax" yra šių technologijų sintezė. Dažniausiai jis vartojamas kartu su terminu "Web 2.0" ir reiškia pažangių kūrimo metodų naudojimą.

Ir kas tai ypatinga?

Taigi, jau turime bendrą idėją apie taiyra AJAX. Ką tai mums praktikoje suteikia? Kodėl aktyvūs pokalbiai apie jo taikymą? Šios technologijos ypatybė yra tai, kad kai ją naudojate, pirmojo poreikio nereikia atnaujinti viso puslapio. Galų gale galite paprašyti naujų duomenų tik dėl jo dalies. Tai yra patogu (nes reikia palaukti mažiau laiko) ir ekonomiškai (tiems, kurie neturi neriboto interneto). Tačiau siekiant informuoti vartotoją apie atnaujinimą, pageidautina naudoti bent jau atsisiuntimo indikatorių arba tekstinius pranešimus, kurie informuotų apie naujus duomenis iš serverio. Kaip minusas technologijos dažnai minima tai, kad ji nėra palaikoma pasenusių ir teksto pagrindu naršyklių. Taip, ir galimybė išjungti "Javascript" technologiją yra vartotojas nei daugelis naudoja. Todėl nepažeisk AJAX. Ką galima padaryti, jei nenumatote alternatyvių informacijos pateikimo būdų? Geriausia, informacija paprasčiausiai nebus rodoma svetainėje. Blogiausiu atveju jo išvaizda patirs tiek, kad vartotojas daugiau negrįš į ją.

"Ajax" privalumai

interneto programa
Ši technologija siūlo du metoduskuris gali būti įdiegtas tinklalapyje. Pirmasis susijęs su pakeitimų perkėlimu. Tai galima padaryti naudojant dinaminius skambučius į serverį. Antrasis reikalauja naudoti atskiras technologijas, iš kurių populiariausias yra XMLHttpRequest. Kalbant apie "Ajax" pranašumus, galime pasakyti:

  1. Galite sukurti patogų žiniatinklio taikomąją programą, kuri sąsaja turės visą skaičių naudingų funkcijų naudotojui, todėl, kad palengvinti žmogaus sąveiką ir interneto svetainėje.
  2. Vietoj viso puslapio perkrovimo atsiranda dalinė pakartotinio paleidimo funkcija. Dėl to įrenginio resursai išsaugomi, o greitis optimizuojamas.
  3. Svetainės serverio dalis aktyviai bendrauja su naudotoju.
  4. Patogu naudoti daugybę idėjų.

Keitimasis duomenimis

Pavyzdžiui, mums reikia atsiliepimų formos sukuris gali būti naudojamas patarti klientams. Kaip tai padaryti? Pirma, jums reikia rūpintis "informacijos šaltiniu". Norėdami tai padaryti, turite sukurti XMLHttpRequest objektą. Jis veikia kaip tarpininkas tarp serverio ir vartotojo naršyklės. Šiuo objektu bus išsiųsti užklausos, taip pat atsakymai į juos. Norint tiesiogiai keistis duomenimis, mums reikia AJAX PHP. Šis įrankių rinkinys gali būti įgyvendintas naudojant GET arba POST užklausas. Šiuo atveju būtini argumentai bus perduodami tiesiogiai per URL. Tuo pačiu metu bus pradėta funkcija, užtikrinanti, kad duomenų perdavimas nebūtų nutrauktas. Bet kokia AJAX užklausa yra įgyvendinta? Rekomenduojame naudoti POST. Jo dėka, galite perkelti neribotą kiekį duomenų, kurie, be to, yra daug sunkiau pasiekti.

Veiklos principas

tinklalapis
Kaip asinchroninis Javascript ir XML veikia?praktikoje? Pavyzdžiui, išsiaiškinkime tai. Kalbant apie pastato struktūrą, reikia pasirūpinti, kad kliento dalis užtikrintų visas būtinas saugaus keitimosi duomenimis funkcijas. Ji turi pateikti reikiamus informacijos perdavimo būdus pasirinktais būdais. Serverio dalis turėtų pateikti apdorotų gautų duomenų ir, remiantis jais, generuoti naują informaciją, kad vėliau ją perduotų klientui. Dažniausiai tokio tipo sąveika yra darbo su duomenų baze. Anksčiau mes jau minėjome tokį daugelio verslo svetainių elementą kaip atsiliepimų formą. "Ajax" pranašumas šiuo atveju yra tas, kad jis atlieka asinchroninį duomenų perdavimą. Kitaip tariant, tol, kol informacija bus išsiųsta, vartotojas gali atlikti visus reikiamus veiksmus. Sutelkiant dėmesį į kiekvieno atvejo ypatumus, būtina nuspręsti, ar būtina informuoti svetainės lankytoją apie šį procesą. Kalbant apie tą pačią atsiliepimų formą, reikėtų pasakyti, kad šiuo atveju galima rašyti "operatorius nurodo atsakymą" arba kažką panašaus.

Serverio atsakas

Tai gali atsirasti ne tik per XML, pavyzdžiuitai gali būti laikoma dėl technologijos pavadinimo. Be to, jis gali būti perduotas kaip paprastas tekstas arba JSON. Pirmuoju atveju gauta informacija gali būti nedelsiant rodoma puslapyje. Jei naudojamas XML, reikia pasirūpinti, kad AJAX failas būtų tinkamai apdorotas kliento naršyklėje. Visi duomenys šiuo atveju konvertuojami į (X) HTML. Kai naudojamas JSON formatas, turite atlikti kodą, kad gautumėte visą Javascript objektą. Būtina būti atsargiems ir atsižvelgti į tai, kad daugelis įsibrovėlių mėgsta per šią technologiją perduoti kenksmingą kodą. Todėl prieš juos apdorojant būtina pateikti patikrintų duomenų tvarką. Įvairių naršyklių įgyvendinimo funkcijos gali šiek tiek skirtis, tačiau apskritai veiksmų schema yra viena.

Mes užklausame serverį ir apdorojame atsakymą

atsiliepimų forma
Visa veiksmų seka atrodys taip:

  1. Iš pradžių turite sukurti ir patikrinti, ar yra XMLHttpRequest.
  2. Tada ryšys su serveriu yra inicijuojamas.
  3. Mes siunčiame užklausą.
  4. Mes laukiame, kol ateis duomenys ir juos apdoros.

Reikia pasakyti apie kai kurias funkcijasapie objekto kūrimą. Tai gali būti inicijuota bet kur, kur tik įmanoma, programavimo kalba. Bet jei priskirsite jam visuotinį statusą, tada bet kuriuo metu jis galės dirbti tik su viena užklausa. Šią akimirką būtina atidžiai stebėti. Kalbant apie perdirbimą - čia mes vadovaujamės pasirinkta priemone. Taigi, naudojant XML, duomenys turi būti apdorojami DOM funkcijomis ir vartotojui pateikiami jau galutinis HTML rezultatas. O ką apie JSON? Reikia suprasti, kad Javascript objektas yra žymėjimas. Ką tai reiškia? Dėkojame JSON, galite pateikti objektą kaip eilutę. Tačiau tuo pačiu metu būtina prisiminti, kad šis metodas nėra visiškai saugus, todėl reikės atsižvelgti į daugelį veiksnių. Bet apskritai tai labai lengva.

Serverio programavimo kalbos

Beveik bet kuri žiniatinklio programa naudoja jasvienam ar kitam laipsniui. Duomenų perdavimui populiariausias yra PHP. Paprastai jis rašo failus svetainėms, kuriose informacijos perdavimo greitis nėra svarbus, tačiau pirmenybę teikia pusiausvyrai tarp jos ir patikimumo. Aukščiau aprašyti XMLHttpRequest perdavimo metodai.

Serverio konfigūravimas

asinchroninis javascript ir xml
Kokios programos reikalingos AJAX darbui atlikti? Ką tai mums duos? Kokie jie yra? Norėdami gauti atsakymus į šiuos klausimus, perskaitykite šį sąrašą:

  1. HTML / XHTML. Jie reikalingi tam, kad serveris atpažintų puslapio išdėstymą.
  2. CSS. Šis įrankis yra reikalingas vizualiai parinkti puslapio dizainą.
  3. DOM. Būtina pateikti dinaminius puslapio pakeitimus kaip atsakymą į veiksmą, kurį atlieka naudotojas.
  4. XML. Reikalingas duomenims perduoti tarp kliento ir serverio.
  5. JavaScript Būtina sukurti variklį "Ajax" ir užtikrinti interaktyvumą.
  6. XMLHttpRequest. Objektas, kuriuo bus perduodami užklausos serveriui.

Naudokite svetainėje

Taigi, dabar turime tiek teorines žinias, tiek irparodymai, kaip veikia "AJAX". Duomenų siuntimas dabar reikalauja tik tam tikros praktikos. Pažiūrėkime apskritai, kaip galima spręsti užduoties įgyvendinimą naudojant "Ajax". Taigi, turime sukurti vairuotojų duomenų bazę. Ir jie skirsis prietaisuose, kuriais jie gali dirbti. Reikėtų pažymėti, kad nagrinėjama duomenų bazė yra labai didelė, todėl paprasčiausiai persiunčiant ją klientui ir jau siūlant atlikti atranką naudojant "JavaScript", neturi prasmės. Taip pat nepageidautina, kad pats tinklalapis būtų perkrautas dėl vieno parametro. Serveryje užklausos apdoros specialius PHP scenarijus. Duomenų bazė yra įdiegta kaip XML failas.

Apie duomenų bazę

ajax siųsti
Būtina parengti savo struktūrą. O kas, jei parametrai, kurie yra objektai, perduodami? Tokiu atveju, kai kvietimas iš funkcijos pusės yra būtinas, reikia sukurti kintamąjį, kuriame bus nuoroda ne į jį. Kad galėtumėte jį pasiekti iš bet kurio kodo, turite jį padaryti visuotine. Siekiant patogumo, pageidautina naudoti duomenų bazių valdymo sistemą. Žinoma, tai nėra būtina. Tačiau vis dar naudojant DBVS bus galima patogiau ir efektyviau dirbti su duomenimis.

Mes dirbame su varikliu

Kaip viskas atsitiks? Taigi, ateina tam tikras įvykis, dėl kurio atsiras ypatinga funkcija. Ji parengs GET arba POST duomenis, kurie bus persiųsti. Tada vadinama funkcija, kuri vadins serverio scenarijaus URL. Turi būti numatyta objekto XMLHttpRequest sukūrimas. Nuoroda į ją turėtų būti išsaugota kintamajame. Kai duomenys buvo išsiųsti į serverį, reikia laukti atsakymo iš jo. Norėdami tai padaryti, galite įjungti "pokalbių perklausą", kol bus gauta informacija (jei žinote, kas ateis ir kada) arba pateikite funkciją, kuri visada bus pasirengusi priimti duomenis. Pirmoji alternatyva yra mažiau patikima laisvai samdoma situacija. Antrasis įgyvendinimas yra brangesnis išteklių požiūriu. Nors, jei tai bus padaryta tik atsižvelgiant į vieną kintamąjį, tai neturės įtakos greitam internetui. Bet jei jų yra šimtai ir tūkstančiai, o jie bus dideli, tai bus dar vienas dalykas. Todėl būtina siekti pusiausvyros tarp turimų išteklių naudojimo ir efektyvumo. Galų gale reikėtų suprasti, kad ne visi turi 16 GB atminties. Norėdami tai padaryti, galite nustatyti tam tikrą laukimo laiką, po kurio pakeičiami ankstesni duomenys arba informacija, kurią šiuo metu serveris negalimas.

Savybės

ajax failas
Naudojant "Ajax" sukurta sąsajapuslapius ar programas, būtina įsitikinti, kad gautas rezultatas gerai veikia tiek skirtingose ​​operacinėse sistemose, tiek skirtingose ​​naršyklėse. Pirmuoju atveju emuliatoriai gali suteikti neįkainojamą pagalbą. Antruoju atveju pakanka paprasčiausiai įdiegti įvairias programas ir patikrinti jų kodą. Be to, būtina numatyti tam tikrus veiksmus, jei vartotojo naršyklės yra pasenę arba jis išjungs reikiamus nustatymus. Tokiais atvejais turėtumėte pasirūpinti, kad būtų rodomas teksto puslapis, nurodantis priežastis, kodėl šiuo atveju negalima peržiūrėti svetainės. Taip, dabar didžioji dauguma žmonių naudoja šiuolaikines technologijas, bet mes neturėtume visiškai ignoruoti galimybės, kad keli procentai lankytojų naudos seną programinę įrangą. Ir verslo mastu tai gali turėti reikšmingų pasekmių.

Išvada

Taigi šis straipsnis yra logiškas sprendimas. Jei mes kalbame apie "Ajax" apskritai, tada šis įrankis leidžia jums sukurti labai patrauklius ir daugiafunkcinius tinklalapius, kurie greitai dirba ir kuriuose yra tinkamas išdėstymas, kad naudotojams būtų malonu. Negalime abejoti, kad ateityje bus dar pažangesnių technologijų, bet dabar mes panaudosime tai, ką turime. Kadangi programavimo kalbos ir jų metodai yra patobulinti, taip pat įmanoma, kad bus sukurta tokia galimybė, kuri leis kurti dar geresnį produktą. Bet vis tiek reikia dabar dirbti su tuo, kas yra. Ir pavadinimas yra "Ajax".

Skaityti daugiau: