Я получил правильную загрузку и публикацию, единственное, что я пытаюсь разобраться, это как добавить кнопку «Мне нравится».Я добавил динамически 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» (уникальный) и значение счетчика на основе нажатия кнопки.(моя логика здесь не так)?