[[oktatas:web:javascript:javascript_ajax|< AJAX]] ====== XMLHttpRequest ====== * **Szerző:** Sallai András * Copyright (c) 2015, Sallai András * Szerkesztve: 2015, 2021, 2024 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Fogalmak ===== ==== DOMString ==== A DOMString minden tagja 16 bites előjel nélküli egész szám, UTF-16 kódolással. Ez megfelel a JavaScript primitív karakterlánctípusának. ==== Document ==== A Document egy interfész, ami weboldalt jelképezi a böngészőben, és biztosítja a tartalomhoz való hozzáférést. ===== A XMLHttpRequest ===== A **XMLHttpRequest** (XHR) egy objektum, ami **szerverekkel** tart **kapcsolatot**. Adatokat fogadhatunk vele a weblap újratöltése nélkül. Lehetővé teszi, hogy az oldalnak csak egyes részeit frissítsük. A neve ellenére a XMLHttpRequest bármilyen típusú adat közvetítésére alkalmas, nem csak XML-re. ===== Konstruktor ===== A konstruktor előkészíti a XMLHttpRequest-t. Minden más metódus előtt meg kell hívni. ===== Tulajdonságok ===== * XMLHttpRequest.onreadystatechange * Az EventHandler ezt hívja, amikor a readyState attribútum változik. * XMLHttpRequest.readyState * Csak olvasható * Egy unsigned short, ami a kérés állapota * XMLHttpRequest.response * Csak olvasható * Tartalmazhat: ArrayBuffer, Blob, Document, JavaScript objektum, vagy DOMString * Függ ettől: XMLHttpRequest.responseType * XMLHttpRequest.responseText * Csak olvasható * DOMString-el tér vissza, ami tartalmazza egy szöveges választ. * Ha kérésnek még nincs vége, akkor null értéke van. * XMLHttpRequest.responseType * egy felsorolt érték, amely megmondja a válasz típusát. * XMLHttpRequest.responseURL * Csak olvasható * A kérés szerializált URL-jét tartalmazza, vagy null. * XMLHttpRequest.responseXML * Csak olvasható * Visszatér a válasz Document tartalmával. * XMLHttpRequest.status * Csak olvasható * Tartalma egy unsigned short, ami a kéréshez tartozó választ státusza. ===== Metódusok ===== * XMLHttpRequest.open() * Előkészíti a kérést * XMLHttpRequest.send() * Elküldi a kérést. * Ha a kérelem aszinkron (ami az alapértelmezés), akkor a kérés elküldése utána, azonnal kapunk választ. * XMLHttpRequest.setRequestHeader() * A HTTP kérés fejlécének beállítása. * open() után kell hívni. * de send() előtt. ===== Események ===== * load * akkor következik be, ha az XMLHttpRequest átvitel sikeresen végetért. * onload tulajdonságon keresztül is elérhető * error * Ha az átvitel esetén hiba történik * Elérhető az onerror tulajdonságon keresztül is. ===== Fontosabb metódusok ===== ==== open() ==== Szintaxis: XMLHttpRequest.open(method, url[, async[, user[, password]]]) * method - metódus: GET, POST, PUT, DELETE, stb. * url - url: a kérés útvonala - DOMString * async - szinkron: true (aszinkor) vagy false (szinkron) * user - felhasználó azonosításhoz * password - jelszó ===== Forrás ===== * https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest