Frontend/24_11_08/feladat2.js
2024-11-08 09:26:19 +01:00

58 lines
1.6 KiB
JavaScript

let url = "https://jsonplaceholder.typicode.com/posts/";
class Bejegyzes{
constructor(id, title, body){
this.id = id;
this.title = title;
this.body = body;
}
getRészletek(){
return `A post id-ja:${this.id}\nA post Címe:${this.title}\nA post tartalma:${this.body}\n`;
}
}
class BejegyzesLista{
bejegyzesek = [];
hozzadBejegyzest(bejegyzes){
this.bejegyzesek.push(bejegyzes);
}
megjelenitBejegyzesek(){
this.bejegyzesek.forEach(element => {
BejegyzesToDomElement(element);
});
}
}
async function fetchAdatok(apiUrl){
try{
let response = await fetch(apiUrl);
let data = await response.json();
data.forEach(element => {
//console.log(element);
//JsonElementToDomElement(element);
let bejegyzes = new Bejegyzes(element.id, element.title, element.body);
//console.log(bejegyzes);
console.log(bejegyzes.getRészletek());
osszesBejegyzes.hozzadBejegyzest(bejegyzes);
});
osszesBejegyzes.megjelenitBejegyzesek();
} catch (error){
console.log(error);
alert("Hiba Történt!");
}
}
async function BejegyzesToDomElement(element){
let newDomElement = document.createElement("div");
newDomElement.innerHTML = `<h2>${element.title}</h2>`;
newDomElement.innerHTML += `<p>${element.body}</p>`;
mainDomElement.appendChild(newDomElement);
}
let osszesBejegyzes = new BejegyzesLista();
let mainDomElement = document.getElementById("eredmeny");
fetchAdatok(url);