Advertisement
Kamend1

02.Messenger

Apr 3rd, 2025
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.     let messageUrl = `http://localhost:3030/jsonstore/messenger`;
  3.     let sendBtn = document.getElementById('submit');
  4.     let refreshBtn = document.getElementById('refresh');
  5.     let messageScreen = document.getElementById('messages');
  6.  
  7.     sendBtn.addEventListener('click', addMsg);
  8.     refreshBtn.addEventListener('click', displayMsg);
  9.  
  10.     async function addMsg () {
  11.         let authorName = document.getElementsByName('author')[0].value;
  12.         let msgText = document.getElementsByName('content')[0].value;
  13.  
  14.         if (!authorName || !msgText) {
  15.             return;
  16.         }
  17.  
  18.         let newMsg = {
  19.             author: authorName,
  20.             content: msgText,
  21.         }
  22.  
  23.         try {
  24.             await fetch(messageUrl, {
  25.                 method: 'post',
  26.                 headers: { 'Content-type': 'application/json' },
  27.                 body: JSON.stringify(newMsg),
  28.                 })
  29.         } catch (error) {
  30.             console.error(error);
  31.         }
  32.     }
  33.  
  34.     async function displayMsg () {
  35.         try {
  36.             let response = await fetch(messageUrl);
  37.             let messages = await response.json();
  38.             messageScreen.textContent = ''
  39.             let result = [];
  40.  
  41.             let messageValues = Object.values(messages);
  42.  
  43.             for (let message of messageValues) {
  44.                 let currentStr = `${message.author}: ${message.content}`;
  45.                 result.push(currentStr);
  46.             }
  47.  
  48.             messageScreen.textContent = result.join('\n');
  49.         } catch (error) {
  50.             console.error(error);
  51.         }
  52.     }
  53. }
  54.  
  55. attachEvents();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement