From 6008549c9482f64beffa1e6619526e4849d61cca Mon Sep 17 00:00:00 2001 From: Jonas Leder <git@jonasled.de> Date: Sun, 18 Apr 2021 21:49:25 +0200 Subject: [PATCH] display error message, if api sends aerror message --- js/customElements/blogFooter.js | 29 +++++++++++++++++----------- js/customElements/blogIndex.js | 20 +++++++++++++------ js/customElements/commentsDisplay.js | 17 +++++++++++----- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/js/customElements/blogFooter.js b/js/customElements/blogFooter.js index a5e1bba..526894c 100644 --- a/js/customElements/blogFooter.js +++ b/js/customElements/blogFooter.js @@ -4,17 +4,24 @@ class blogFooter extends HTMLElement { let xhr = new XMLHttpRequest(); let ul = document.createElement("ul"); xhr.onreadystatechange = () => { - if(xhr.readyState === 4 && xhr.status === 200){ - let blog = JSON.parse(xhr.responseText); - blog.forEach((element) => { - let li = document.createElement("li"); - let a = document.createElement("a"); - a.href = "/post.html?id=" + element["id"]; - a.innerText = element["title"]; - li.appendChild(a); - ul.appendChild(li); - }); - this.appendChild(ul); + if(xhr.readyState === 4) { + if (xhr.status === 200) { + let blog = JSON.parse(xhr.responseText); + blog.forEach((element) => { + let li = document.createElement("li"); + let a = document.createElement("a"); + a.href = "/post.html?id=" + element["id"]; + a.innerText = element["title"]; + li.appendChild(a); + ul.appendChild(li); + }); + this.appendChild(ul); + } else { + let p = document.createElement("p"); + p.innerText = "Leider konnte dieser Inhalt nicht geladen werden, bitte versuche die Seite neu zu laden oder komme später wieder zurück"; + this.appendChild(p); + + } } } xhr.open("GET", "/API/getBlogElements.php?position=footer"); diff --git a/js/customElements/blogIndex.js b/js/customElements/blogIndex.js index 636433e..d6f11a7 100644 --- a/js/customElements/blogIndex.js +++ b/js/customElements/blogIndex.js @@ -4,18 +4,26 @@ class BlogIndex extends HTMLElement { let xhr = new XMLHttpRequest(); let ul = document.createElement("ul"); xhr.onreadystatechange = () => { - if(xhr.readyState === 4 && xhr.status === 200){ - let blog = JSON.parse(xhr.responseText); - blog.forEach((element) => { - this.innerHTML += ` + if (xhr.readyState === 4) { + if (xhr.status === 200) { + let blog = JSON.parse(xhr.responseText); + blog.forEach((element) => { + this.innerHTML += ` <article class="breakWord"> <h2>${element["title"]}</h2> <p breakWord>${element["content"]}</p> <p class="center"><a href="/post.html?id=${element["id"]}"><button>Mehr lesen</button></a></p> </article> `; - }); - this.appendChild(ul); + }); + this.appendChild(ul); + + } else { + let p = document.createElement("p"); + p.innerText = "Leider konnte dieser Inhalt nicht geladen werden, bitte versuche die Seite neu zu laden oder komme später wieder zurück"; + this.appendChild(p); + + } } } xhr.open("GET", "/API/getBlogElements.php?position=index"); diff --git a/js/customElements/commentsDisplay.js b/js/customElements/commentsDisplay.js index 3cf94e2..91984cf 100644 --- a/js/customElements/commentsDisplay.js +++ b/js/customElements/commentsDisplay.js @@ -7,10 +7,11 @@ class commentsDisplay extends HTMLElement { let xhr = new XMLHttpRequest(); xhr.onreadystatechange = () => { - if (xhr.readyState === 4 && xhr.status === 200){ - let comments = JSON.parse(xhr.responseText); - comments.forEach((element) => { - this.innerHTML += ` + if (xhr.readyState === 4) { + if (xhr.status === 200) { + let comments = JSON.parse(xhr.responseText); + comments.forEach((element) => { + this.innerHTML += ` <h3 class="commentTitle">${element["name"]}</h3> <div class="comment"> <img src="${element["gravatarURL"]}"> @@ -19,7 +20,13 @@ class commentsDisplay extends HTMLElement { </article> </div> `; - }); + }); + } else { + let p = document.createElement("p"); + p.innerText = "Leider konnte dieser Inhalt nicht geladen werden, bitte versuche die Seite neu zu laden oder komme später wieder zurück"; + this.appendChild(p); + + } } } xhr.open("GET", "/API/projectComments.php?article=" + pageName); -- GitLab