Jquery, ajax: použitie a funkcia

Pojem Ajax je skratka pre Asynchronous JavaScript and XML (Asynchronous JavaScript and XML) a označuje technológiu žiadostí bez prekládky stránku, ak odosielať dáta na server, on odpovie, zatiaľ čo strana nie je aktualizovaný. Najjednoduchším príkladom dotazu Ajax je vyhľadávanie. Ak otvoríte vyhľadávač, a začať písať žiadosť pod hranicou s ním okamžite viditeľný tipy stránku, ale nie je aktualizovaný. Pre obmedzený záznam volania metód Jquery sa používa znak dolára.

Výhody Ajax

Ajax šetrí šírku pásma, a jeho použitie je vhodnejšie pre užívateľov, pretože nebudú musieť dlho čakať na plné načítanie stránky. Ale vývojár používajúci túto metódu je neustále nútený sledovať akcie používateľov a povie im, aby pochopili, čo sa deje na stránke. Je dôležité pochopiť, že staršie verzie prehliadačov, vrátane textu, nepodporujú technológiu Ajax. Niekedy používatelia samy vypnú používanie JS, takže skripty môžu prestať fungovať. Preto je dôležité premýšľať o alternatívach a nie príliš veľa dúfať, že táto metóda.


Aplikácia Ajax a JQuery

Existencia interaktívnych aplikácií by bez technológie Ajax nebola možná. Používa sa v Angulara (AngularJS) - rámec pre JS. Na celej stránke nie je potrebné používať technológiu Ajax. Môže sa použiť iba pre niektoré prvky aktualizovanej stránky. Napríklad pre automatickú výmenu, validáciu formulárov avyhľadávania. Knižnica JQuery je kolekcia hotových riešení napísaných v PHP. Môžete ho nájsť pomocou "Ajax libs jquery". K dispozícii je možnosť pripojenia cez špeciálnu službu Google. Nazýva sa Ajax Googleapis. Jquery sa v tomto prípade priamo spojí. Samozrejme, urýchľuje načítanie stránky. Používatelia často nájdu mini verziu Jquery, Ajax na Googleapis.com. Má skrátený funkčný, ale pohodlnejší pre začiatočníkov. Pomenované mini verzie Jquery, Ajax na Googleapis.com - min.js.

Formáty prenosu údajov
Skratka dekódovania XML Ajax je formát výmeny údajov. Spočiatku, keď bola technológia vytvorená, výmena bola iba s jej pomocou. XML je veľmi podobný HTML, ale všetky značky musia byť v ňom uzavreté. Neskôr sa v jazyku JS objavil nový formát JSON. Bolo to tak jednoduché a pohodlné, že sa rozšírilo do iných jazykov a knižníc. JSON je najvhodnejší na prenos malého množstva údajov až do 20 tisíc riadkov. S ňou je ľahšie pracovať, programátorovi je flexibilnejší a jasnejší. S viac informácií je preferovaný XML. Napríklad posielanie požiadaviek na "Yandex-search" sa implementuje pomocou tohto formátu.

Vytvorenie jednoduchého dokumentu vo formáte JSON

V JS, všetky vlastnosti opisujú jeden globálny objekt okna, to znamená okno prehliadača. Všetky knižnice opisujú funkcie (metódy) a vlastnosti tohto objektu. JSON je samostatná trieda, ktorá zdedí z objektu a má dve vlastné metódy: analyzovať a stuhovať. Podrobné informácie nájdete v obidvoch uvedených spôsoboch.
Práca s AjaxomMôžete použiť JS bez jQuery. Linku JSON možno previesť na objekt JS a späť. Pozrime sa, ako to urobiť na príkladoch. Najprv vytvorte dokument a pomenujte ho, napríklad "man" s rozšírením JSON. Potom postupne postupujeme nasledovne:
  • Otvorte súbor v editore kódov, napríklad PhpStorm alebo Sublime.
  • Formát JSON má svoju vlastnú syntax. Najprv je vytvorený objekt - vyžaduje si klenuté zárezy.
  • Záhlavie by malo obsahovať kľúč a jeho význam. Kľúče by mali byť v dvojitých labkách. V štandardnom JS pri vytváraní objektu je kľúč napísaný bez úvodzoviek. Napríklad pre objekt "man" vo formáte JSON je potrebné vytvoriť kľúče "name" a "age". Výsledkom je nasledujúci kód: {name: Pavel, vek: 28}.
  • Ak potrebujete niekoľko objektov, umiestnia sa do poľa, ktoré sa nachádza v hranatých zátvorkách. Je dôležité poznamenať, že formát JSON nepodporuje komentáre. V akejkoľvek forme to bude chyba. Ale pre nich nie je žiadna osobitná potreba. Samotné kľúče môžu mať tieto typy:
  • riadok;
  • číslo;
  • pole;
  • objekt.
  • Pole je napísané v hranatých zátvorkách, objekty v ňom sú citáty a sú prepísané čiarkami. Môžete tiež pridať pripojený objekt, napríklad adresu. Musí byť uzavretý v kučeravých zátvorkách. Tu je najrýchlejší spôsob, ako vytvoriť najjednoduchší dokument JSON. Pre jednoduchosť používania sa zamilovala do vývojárov.
    Konverzia reťazca na objekt
    Reťazec JS sa často mení na objekt JSON. Stojí za to dávať pozor, že v kóde pri prenose linky vkoniec by mal stáť lomítko, inak JS nerozumie tomu, že to skončilo. Kód JS bude vyzerať takto: Musíte zabezpečiť, aby boli kľúče v dvojitých úvodzovkách, inak sa vyskytne chyba. Máme jednoduchú linku. Môže pochádzať z ľubovoľného servera. Aby sa zabezpečilo, že sa jedná o linku, môže byť zobrazená na konzole pridaním kódu tím "console.log (JSON)" Teraz previesť objekt reťazec K tomu, najprv deklarovať premennú a zavolať ju so špeciálnou triedou parse: .. Var jsonObj = JSON.parse (). Potom prenos možnosť. pracovať s formátu JSON v JS je špeciálne triedy s rovnakým názvom. Takže môžete previesť objekt reťazec. Ak z nejakého dôvodu nie je možné previesť, všimne. pre potvrdenie, že všetko sa deje správne, oba premenné sa môžu zobraziť na konzole. V prvom prípade pri výstupe konzoly vyzve hodnoty po medzere, ktoré považuje za číslo JS lomku znamenie. To nie je chyba, ale krása kódových zbytočných medzier žiaduce čistiť.

    Konverzia objektu na reťazec

    Môžete vykonať vzájomnú akciu a transformovať objekt na reťazec. Na tento účel oznámeme premennú a opäť použijeme triedu JSON tak, že ju pridáme bodom, ale zvolíme inú metódu - stringify: var ObjtoStr = JSON.stringify (). Potom zadáme požadovaný parameter. Tento príkaz vykoná inverznú transformáciu. Táto možnosť môže obsahovať všetko, čo potrebujeme, napríklad len názov. Ak to chcete urobiť, kľúč, ktorý musíte vložiť do hranatých zátvoriek. Takže môžete pracovať s JSON s JS.

    Odošlite žiadosť na server

    Teraz poďme do Ajaxu a pošlite túto požiadavkuserverov. Najprv musíte vytvoriť objekt XMLHttpRequest. Táto trieda je zodpovedná za odoslanie požiadavky a umožňuje vám ju vytvoriť bez opätovného načítania stránky. Použije sa JSON, ale názov triedy sa nezmenil: XML. Kód pre odosielanie žiadosti vyzerá takto: var xhr = XMLHttpRequest (). Doteraz nebudeme odosielať možnosti. Teraz nakonfigurujte túto požiadavku. Na tento účel píšeme: xhr.open (). V otvorenej metóde konfigurujeme adresu. Ak to chcete urobiť, v zátvorkách pridajte slovo "GET". Potom pomocou čiarky v jednoduchých úvodzovkách napíšeme adresu hostiteľa, kam chcete odoslať požiadavku. Na konci riadka pridať názov objektu, teda súbor k stiahnutiu. - v tomto prípade "man.json"

    synchrónne a asynchrónne požiadavku

    Tretia možnosť, ktorá je nutná pre odoslanie požiadavky - určenie, či to bude súčasne, alebo nie. Zavolal asynchrónne a má dva významy :. "False žiadosť podaná súčasne a pravda - v tom prípade, že to bude asynchrónny Ak žiadosť je synchrónne, skript čaká na odpoveď Ak je odozva trvá asi sekundu, ďalší riadok kódu nie je obrobytsya Simultánne dotaz bude vykonávať v oddelenej .. potok a pokračovať v realizácii príkazu script v našom prípade bude mať prvú hodnotu, pretože kontrolovať inak odpovede musieť urobiť po udalosti a priradiť funkciu, ktorá je vykonaný akonáhle žiadosť príde potom pridať jeden riadok kódu: ... xhr.send () Teraz,. Výzva prísť kódu Môže sa jednať o číslo "200", čo znamená, že server je k dispozícii "404" - Dokument nebol nájdený "300" - presmerovanie a "500". - chyba servera Ak sa chcete dozvedieť či sa vyskytla chyba, ktorú musíte porovnaťkód "200". Ak to chcete urobiť, pridajte kód na nasledujúci riadok: if (xhr.status! = 200) a zadajte hodnotu do konzoly. Ak je všetko v poriadku, spustí sa pobočka inej, do ktorej pridáme konzolu s hodnotou "OK". Tak sme poslali žiadosť na server pomocou JS a zistili, ako Ajax pracuje s JS. Vytvorili sme XMLHttpRequest, určili sme metódu, cestu, synchronizáciu alebo asynchrónne a získali sme výsledok.

    JQuery, Ajax

    Skúsení čističe nepoužívajú JS na prácu a používajú knižnicu - najčastejšie jQuery. JS Ajax JQuery otázky sú oveľa jednoduchšie, a preto sa stali tak populárne. S touto knižnicou sa pokúsime zlepšiť skript. Najprv musíte stiahnuť JQuery. Dodáva sa v niekoľkých verziách. Knižnicu môžete pripojiť prostredníctvom služby Google Code. Existuje možnosť pre vývojárov, kde je možné komentovať a presúvať linku. Iná verzia je minimálna. Nachádza sa na adrese ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js. Má zmysel, aby sa táto knižnica pripojila na pracovný server. Pridať knižnicu pomocou nasledujúci kód prostredníctvom služby Google Code:& lt; script src = "//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js">V tomto kóde sa používa napríklad verzia 310. Pre správnu prácu je potrebné pridať aktuálnu verziu. Dôležité je, aby adresa začala "//ajax.googleapis.com/ajax/libs/jquery". Potom vytvoríme nový súbor vo formáte html a spojíme knižnicu s uvedením jej umiestnenia v značke skriptu a umiestnením do hlavy. Potom začneme písať samotný skript. Začnime to nasledujúcim riadkom: $ (document) .ready (). Keď je dokument pripravený, bude volanývnorená funkcia: (funkcia () {}). Toto je potrebné na načítanie modelu DOM, z ktorého pracujeme, to znamená všetko v značke tela. Ak tak neurobíte, skript sa spracuje pred spustením modelu DOM.

    Vytvorenie formulára

    Napríklad Jquery, Ajax vytvorí formulár. Za týmto účelom vytvorte div s triedou formulára a pridajte ho do vstupného typu "text" a atribút name s hodnotou "name". Potom pridajte ďalší vstup s typom "text" a názvom "adresa". Každý vstup priradí identifikátor. Hodnoty atribútov názvu môžete použiť ako identifikátor. Pridajte náznak obidvoch vstupov a požiadajte používateľa o zadanie názvu a adresy. Ak chcete, môžete pridať ďalší riadok pre vek. Teraz musíte vytvoriť tlačidlo na odoslanie formulára. V tagu tlačidla napíšeme slovo "odoslať" a pridáme identifikátor btn. Pridajte oddeľovače - značky br - pre každý riadok a skontrolujte, čo sa stalo.
    Môžete pridať externé zarážky ich zapísaním do štítku štýlu, ale to je voliteľné. Formulár nefunguje. Funkcia musí byť prepojená s udalosťou, pretože dáta budú odoslané po stlačení. Ak to chcete urobiť, vyberte tlačidlo na voliči a zadajte udalosť "kliknite": $ ('# btn'). Táto funkcia sa teraz vykoná po kliknutí. Používame metódu on, ktorá označuje určitú funkciu na udalosti click pre prvok. To znamená, že keď kliknete na tlačidlo, bude fungovať. Skontrolujte, či všetko funguje s výstupom konzoly. Nie je veľa spôsobov, ako poslať žiadosť Jquery, Ajax. Môžete použiť, dostať, poštou alebo len Ajax. Vzhľadom k tomu, tieto údaje môžuPoužijeme metódu Jquery, Ajax post, niečo zmeniť.

    Získanie hodnôt poľa formulára

    V tomto kroku musíme získať hodnotu všetkých polí formulára. V Jquery, Ajax existujú dva spôsoby, ako to urobiť. Môžete použiť túto funkciu alebo ju vykonať bez nej. Pre prvú verziu píšeme nasledujúci kód: var name = $ ('# name'). Potom pridajte rovnaký riadok adresy a vek. Máme odkazy na prvky, nie na tie najdôležitejšie. Teraz používame metódu Jquery, Ajax post. Za týmto účelom napíšte: $ .post (). Metodu je potrebné prispôsobiť. Prijíma adresu URL, na ktorej bude odoslaná forma. Za týmto účelom použijeme validátor. Za týmto účelom napíšte "/validator.php" zátvoriek. Pridajte ďalší parameter - samotné dáta: var data = 'name =' + name.val () + '& amp; address =' ​​+ adresa.val () + & age = '+ age.val (). Teraz získali údaje od spoločnosti Jquery, Ajax. Zostáva iba pridať funkciu spätného volania, ktorá sa volá, keď odpoveď pochádza zo servera. Musí predpisovať nasledujúce parametre: údaje o serveri, stavový popis a či bola žiadosť vykonaná. Vykonáme parameter dát na konzole, aby sme skontrolovali, či všetko funguje. Je tiež dôležité poznamenať, že požiadavka na Ajax sa vždy vykonáva v Unicode, takže kódovanie dokumentu by malo byť utf-8. Ak je web a server v inom kódovaní a Ajax je spustený vo formáte unicode, server vráti znaky a riadok bude musieť byť znovu zakódovaný. Aby sme tomu zabránili, je žiaduce urobiť všetko v utf-8.

    Práca s PHP

    Teraz používame Jquery, Ajax PHP. Vytvoríme nový súbor a nazveme ho validator.php. Vydajte si naše dáta. Za to píšeme: $ array = $ post. Teraz vystupujeme všetky dáta vo formáte JSON: echo JSON_encode ($ array). Pozrite sa, akoFormulár funguje vyplnením polí a odoslaním požiadavky na server. Ak je všetko vykonané správne, dostaneme objekt s danými parametrami. Dostali sme údaje, ktoré teraz potrebujú na spracovanie a písanie. Napíšeme: if (isset ($ post ['name']) & amp; (isset ($ post ['age']) & isset ($ post [' Premenná je tam, potom pridáme podmienku: inak {$ array ['status'] = 'error'} Skontrolujte, či všetko funguje Ak sú v kóde chyby, hľadáme ich a opravíme. v okamihu prenosu na server Môžete použiť nielen programovací jazyk PHP, ale aj iné jazyky servera.

    Súvisiace publikácie