Frontend/24_11_08/feladat2.js

58 lines
1.6 KiB
JavaScript
Raw Normal View History

2024-11-08 07:43:27 +00:00
let url = "https://jsonplaceholder.typicode.com/posts/";
2024-11-08 08:26:19 +00:00
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);
});
}
}
2024-11-08 07:43:27 +00:00
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());
2024-11-08 08:26:19 +00:00
osszesBejegyzes.hozzadBejegyzest(bejegyzes);
2024-11-08 07:43:27 +00:00
});
2024-11-08 08:26:19 +00:00
osszesBejegyzes.megjelenitBejegyzesek();
2024-11-08 07:43:27 +00:00
} catch (error){
console.log(error);
2024-11-08 08:26:19 +00:00
alert("Hiba Történt!");
2024-11-08 07:43:27 +00:00
}
}
async function BejegyzesToDomElement(element){
let newDomElement = document.createElement("div");
newDomElement.innerHTML = `<h2>${element.title}</h2>`;
2024-11-08 08:26:19 +00:00
newDomElement.innerHTML += `<p>${element.body}</p>`;
2024-11-08 07:43:27 +00:00
mainDomElement.appendChild(newDomElement);
}
2024-11-08 08:26:19 +00:00
let osszesBejegyzes = new BejegyzesLista();
let mainDomElement = document.getElementById("eredmeny");
fetchAdatok(url);