CCCPaste

01.Messenger

function attachEvents() {

    let authorInput = document.getElementById("author");
    let contentInput = document.getElementById("content");
    let submitBtn = document.getElementById("submit");
    let refreshBtn = document.getElementById("refresh");
    let messagesArea = document.getElementById("messages");
    getAllMessages();

    refreshBtn.addEventListener("click", getAllMessages);
    submitBtn.addEventListener("click", submitMessage);

    function getAllMessages() {
        let requestOptions = {
            method: 'GET',
            redirect: 'follow'
        };

        fetch("http://localhost:3030/jsonstore/messenger", requestOptions)
            .then(response => response.json())
            .then(result => displayMessages(result))
            .catch(error => console.log('error', error));
    }

    function displayMessages(r) {
        messagesArea.innerHTML = "";
        let messagesArr = Object.values(r);
        messagesArr.forEach(m => {
            messagesArea.textContent += `${m.author}: ${m.content}\n`
        });
        contentInput.value = "";
        authorInput.value = "";

    }

    function submitMessage() {
        let authorV = authorInput.value;
        let contentV = contentInput.value;

        let myHeaders = new Headers();
        myHeaders.append("Content-Type", "application/json");

        var raw = JSON.stringify({
            "author": authorV,
            "content": contentV
        });

        var requestOptions = {
            method: 'POST',
            headers: myHeaders,
            body: raw,
            redirect: 'follow'
        };

        fetch("http://localhost:3030/jsonstore/messenger", requestOptions)
            .then(response => response.json())
            .then(result => getAllMessages())         
            .catch(error => console.log('error', error));
    }


}

attachEvents();