[[oktatas:web:javascript:javascript_ajax|< AJAX]] ====== AJAX GET kérés ====== * **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 ===== Fájl olvasása ===== let loadButton = document.getElementById('loadButton'); loadButton.addEventListener('click', function() { var xhr = new XMLHttpRequest(); xhr.open("GET", "adat.txt"); xhr.send(); xhr.onload = function() { if(xhr.readyState === xhr.DONE) { if(xhr.status === 200) { console.log(xhr.responseText); } } } }); ===== GET küldés ===== httpRequest.open("GET","feldolgoz.php?vnev=Nagy&knev=Joska", true); httpRequest.send(); ===== Dolgozók lekérdezése REST API-ból ===== function getEmployees() { let url = 'http://localhost:8000/employees'; let http = new XMLHttpRequest(); http.open('get', url, true); http.onload = function() { console.log(http.responseText) } http.send(); } getEmployees(); ==== Állapotok lekérdezése ==== function getEmployees() { let url = 'http://localhost:8000/employees'; let http = new XMLHttpRequest(); http.open('get', url, true); http.onload = function() { if(http.readyState === http.DONE) { if(http.status === 200) { console.log(http.responseText) } } } http.send(); } getEmployees(); ===== Promise használata ===== Ha nem helyben szeretnénk felhasználni a lekérés eredményét, akkor Promise készítése a megoldás. getEmployees().then( response => { console.log(JSON.parse(response)) }) .catch(function(error) { console.error(error); }) function getEmployees() { return new Promise(function(resolve, reject) { let url = "http://localhost:8000/api/employees"; let http = new XMLHttpRequest(); http.open('get', url, true); http.send(); http.onload = function() { if(http.status == 200) { resolve(http.responseText); }else { reject('Hiba! A lekérés sikertelen!') } } http.onerror = function() { reject('Hiba! A hálózat nem elérhető!') } }) } ===== Forrás ===== * https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open (2021) * https://reqbin.com/code/javascript/car0zbiq/javascript-xmlhttprequest-example (2024)