Post / Fetch / Update / server-api - PullRequest
       10

Post / Fetch / Update / server-api

0 голосов
/ 28 октября 2018

Я получил правильную загрузку и публикацию, единственное, что я пытаюсь разобраться, это как добавить кнопку «Мне нравится».Я добавил динамически img, который появляется, когда пользователь вводит комментарий.Я пытаюсь зарегистрироваться, когда этот img выдвигается с помощью addEventListener, а затем обновляет "лайки" в объекте json на сервере.если я смотрю в «Почтальон», я могу видеть поля (имя, комментарий, идентификатор, лайки, метка времени).Поскольку у меня уже есть комментарий с этим ...

let pushSubmit = document.getElementById('comment_submit');

    pushSubmit.addEventListener('click', function(e){                      
    e.preventDefault();  
    let uName = document.getElementById('user_name');                  
    let uComment = document.getElementById('user_comment');            

    let userData = {                                                 
        name: uName.value,
        comment: uComment.value,
    };

    commentPutter(userData);
    uName.value = ' ';                                             
    uComment.value = ' ';                                         
});

и POST для сервера ...

function commentPutter(userData){
        const init = {
        body: JSON.stringify(userData),
        method: 'POST',
        headers: {
          'content-type': 'application/json'
        }
      };
      let postRequest = fetch("https://some.api.with-key=something", init);
      postRequest.then((response) => {
        console.log(response.status);
        return response.json();
      })
      .then((justPosted) => {                                       // post response json
        console.log(justPosted);
        lastPostedId = justPosted.id;
        return fetch("https://some.api.with-key=something");
      })
      .then((response) => {
        // comment list response
        return response.json();
      })
      .then((commentsList) => {
        // comment list response json
        console.log(commentsList);
        const match = commentsList.find((item) => {
          return item.id === lastPostedId;
        });
        console.log(match);
      });
}

Нужно ли мне писать совершенно новые функции только для addEventListener длякнопка «Мне нравится» (img) или я могу использовать эту существующую?и просто немного его изменить?Так как это также обновит существующие комментарии на сервере.Разве я не могу просто сказать «Нравится» + 1 в функции (с прикрепленным к нему EventListener)

let pushSubmit = document.getElementById('comment_submit');

    pushSubmit.addEventListener('click', function(e){                      
    e.preventDefault();  
    let uName = document.getElementById('user_name');                  
    let uComment = document.getElementById('user_comment');            
    let uLikes = document.getElementById('heartImage')
    let userData = {                                                 
        name: uName.value,
        comment: uComment.value,
        likes: uLikes.value,
    };

Проблема, с которой я столкнулся, заключается в том, зачем повторно отправлять информацию об имени и комментарии?Мне нужно только отправить комментарий «ID» (уникальный) и значение счетчика на основе нажатия кнопки.(моя логика здесь не так)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...