Kapjuk adatok javascript keresztül XMLHttpRequest
Ez ezen technológia működik minden modern Single Page Application.
Ez használ XMLHttpRequest. Nevéből gondolná, hogy ő is csak akkor működik a xml, de ez nem az. Úgy tudja, semmilyen adatot.
Hogy obraschatsya a szerver az adatokat, hozzunk létre az API vizsgálati adatokat mocky.io szolgáltatást.
Itt van egy JSON-adatok
Helyezze be a szervezet kérésére és előzetes üzemmódban válassza
Bármely domén obraschatsya ezen API.
Kattintson generálása választ, és kap egy link a API-t.
Először is létre kell hozni egy új ekzemplyar XMLHttpRequest.
Most szeretnénk beállítani egy url
Ebből a célból, felszólítjuk xhr nyílt módszere halad a lekérdezés típusát, url, és hogy a kérelem aszinkron. Természetesen azt szeretnénk, hogy aszinkron. Soha ne használjon szinkron kéréseket, mivel blokkolja a folytatást forgatókönyvet. A 99 100 esetből nem kell.
Nem hiszem, hogy xhr.open lekérdezések. Bár a neve is hasonló. Ő csak beállítja. Hogy küldjön egy kérést a xhr.send
A kérelmet küldtek, de nem tudjuk feldolgozni a kapott adatokat. Ez segít nekünk egy speciális módszerrel onreadystatechange
Bent a módszerrel ellenőrizze a readyState 4, hogy amikor a megtörtént. Míg readyState alábbi négy, a hívás befejeződik. Eljön az elején a kérést, így a cím, rakodás test, majd töltse ki a kérést.
Most vegyünk fel egy csekket hiba és kimeneti eredmények a konzolra
Amint látjuk, az eredmény megjelenik a húr, így több kell, és feldolgozni, hogy a JSON
Melyek a fő hátránya a XMLHttpRequest, és miért használja mindenki ajax jQuery, hogy az adatokat az egyes könyvtári erre például superagent vagy Axios.
Az első hátránya - ez természetesen az összeg a kódot. Mindenesetre a kiegészítő könyvtár módszer csak akkor működik, ha a http kérések sokkal tömörebb.
A második - a hiánya Promise ha XMLHttpRequest. Nem tudjuk írni .és, közvetíteni, hogy a visszahívó és végrehajtani, amit akarunk, ha a kérelem teljes. Ezért ez a kód kényelmetlen dolgozni.
Harmadszor - ez cross-böngésző kompatibilitás. Még IE 10-11 XMLHttpRequest nem működik más böngészőkben.
Mindazonáltal érthető, és ne feledjük, hogy a belsejében húzódik szükség, bár ez nem valószínű, akkor használja a tiszta formában.