Advertisement
bebo231312312321

Untitled

Jun 28th, 2023
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.     const optionSelect = document.getElementById("posts");
  3.     const loadBtn = document.getElementById("btnLoadPosts");
  4.     const viewBtn = document.getElementById("btnViewPost");
  5.     const postComments = document.getElementById("post-comments");
  6.    
  7.     loadBtn.addEventListener("click", loadPosts);
  8.     viewBtn.addEventListener("click", viewPost);
  9.      let postBody = ''
  10.     async function loadPosts() {
  11.       const url = `http://localhost:3030/jsonstore/blog/posts`;
  12.       const response = await fetch(url);
  13.       const data = await response.json();
  14.    
  15.       Object.entries(data).forEach(([key, value]) => {
  16.         const option = document.createElement("option");
  17.         option.value = key;
  18.         option.textContent = value.title;
  19.         optionSelect.appendChild(option);
  20.         postBody = value.body
  21.       });
  22.     }
  23.    
  24.     async function viewPost() {
  25.       const url = `http://localhost:3030/jsonstore/blog/comments`;
  26.       const response = await fetch(url);
  27.       const data = await response.json();
  28.       const comments = Object.values(data).filter(
  29.         (el) => el.postId === optionSelect.value
  30.       );
  31.  
  32.    
  33.       document.getElementById(`post-title`).textContent =
  34.       optionSelect.options[optionSelect.selectedIndex].text;
  35.       document.getElementById('post-body').textContent = postBody
  36.     //   const postsUrl = `http://localhost:3030/jsonstore/blog/posts`;
  37.     //   const postsResponse = await fetch(postsUrl);
  38.     //   const postsData = await postsResponse.json();
  39.       postComments.replaceChildren();
  40.       comments.forEach((el) => {
  41.         const li = document.createElement("li");
  42.         li.id = el.id;
  43.         li.textContent = el.text;
  44.         postComments.appendChild(li);
  45.       });
  46.     }
  47.   }
  48.   attachEvents();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement