Frontend/24_11_18/feladat2.js
2024-11-19 12:59:01 +01:00

78 lines
2.3 KiB
JavaScript

const url = "http://127.0.0.1/Digivagyok/munkasok.json";
document.getElementById("button").addEventListener("click", function(){
let value = document.getElementById("selection").value;
console.log(value);
main(value);
});
document.getElementById("hozzaAdGomb").addEventListener("click", function(){
let nev = document.getElementById("nev").value;
let beosztas = document.getElementById("beosztas").value;
let kor = document.getElementById("kor").value;
let fizetes = document.getElementById("fizetes").value;
let munkas = {
nev: nev,
beosztas: beosztas,
kor: kor,
fizetes: fizetes
}
adatfeltoltes(munkas);
});
async function adatfeltoltes(munkas) {
let xhttp = new XMLHttpRequest();
xhttp.open("POST", "asd.php", true);
xhttp.setRequestHeader("Content-Type", "application/json; charset=UTF-8");
xhttp.onreadystatechange = async function(){
if (xhttp.readyState === 4){
if (xhttp.status === 201){
let sol = await JSON.parse(xhttp.responseText);
console.log("A munkás sikeresen hozzá lett adva a munkásokhoz.");
console.log(sol);
} else if (xhttp.status === 200){
let sol = await JSON.parse(xhttp.responseText);
console.log("A munkás sikeresen hozzá lett adva a munkásokhoz.");
console.log(sol);
} else if(xhttp.status === 404){
console.log("Az erőforrás nem található - 404 hibakód");
} else{
console.error(`Hiba történt, státuszkód: ${xhttp.status}`);
}
}
}
//xhttp.send("format=json");
xhttp.send(JSON.stringify(munkas));
}
async function main(munkasNumber) {
try{
let response = await fetch(url);
if (!response.ok){
throw new Error(`Hiba történt: ${response.status}`);
}
let adatok = await response.json();
createDomElement(adatok[munkasNumber - 1]);
} catch (error) {
console.error(`Hiba ${error}`);
}
}
function createDomElement(element) {
let line = document.createElement("div");
line.innerHTML = `Név: ${element.nev}, Beosztás: ${element.beosztas}, Kor: ${element.kor}, Fizetés:${element.fizetes}Ft`;
document.getElementById("eredmeny").appendChild(line);
}