Size: a a a

JavaScript Noobs — сообщество новичков

2020 May 31

АВ

Александр Виноградов... in JavaScript Noobs — сообщество новичков
Lookarious
Что за ответ отдаёт
нет апи, это тестовое.
Ответ
data = {"message": "Сообщение успешно отправлено."}
источник

.

. in JavaScript Noobs — сообщество новичков
Plastic Sounds
Складывай циклом и при отправке укажи заголовок form-data
а по подробнее можно пж, а то не совсем понятно )
источник

АВ

Александр Виноградов... in JavaScript Noobs — сообщество новичков
Andrew Fedak
function sendFeedback(event) {
 event.preventDefault();
 let feedbackForm = event.target;
 let data = new FormData(feedbackForm);
 let url = feedbackForm.action;
 let csrftoken = getCookie('csrftoken');
 fetch(url, {
   method: 'POST',
   headers: {
     'X-Requested-With': 'XMLHttpRequest',
     'X-CSRFToken': csrftoken
   },
   body: data
 }).then(result => {
     if (result.ok) {
       // feedbackForm.reset();
       return result.json()
     }
     throw new Error('Gg')
   }).then(data => {
     alert(data.message)
   }).catch(err => console.log(err))
}
я не зря вывел в отдельную функцию ajaxPOST, что бы она была универсальной, поэтому внутри sendFeedback всего этого не надо
источник

PS

Plastic Sounds in JavaScript Noobs — сообщество новичков
.
а по подробнее можно пж, а то не совсем понятно )
FormData использует такой же формат на выходе, как если бы мы отправляли обыкновенную форму с encoding установленным в "multipart/form-data".
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
Александр Виноградов
я не зря вывел в отдельную функцию ajaxPOST, что бы она была универсальной, поэтому внутри sendFeedback всего этого не надо
так если ты вывел, то эту уникальную функ нужно через асынк делать
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
а не в тупую
источник

АВ

Александр Виноградов... in JavaScript Noobs — сообщество новичков
в общем, без await не обойтись?
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
это ж асинхронные действия
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
Александр Виноградов
в общем, без await не обойтись?
в данной ситуации, нет
источник

PS

Plastic Sounds in JavaScript Noobs — сообщество новичков
Когда отправляешь форм дату, тебе нужно задать заголовок
А данные ты можешь сложить в объект и проитерировать каждое свойство, положив его ключ:значение в formData
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
Александр Виноградов
в общем, без await не обойтись?
Переделать тебе, или сам сделаешь?
источник

АВ

Александр Виноградов... in JavaScript Noobs — сообщество новичков
Andrew Fedak
Переделать тебе, или сам сделаешь?
сделаю
источник

L

Lookarious in JavaScript Noobs — сообщество новичков
источник

L

Lookarious in JavaScript Noobs — сообщество новичков
Если будет ошибка то форма аннулируется. Ты это хотел? если нет то просто положи функции reset внутри где есть data
источник

L

Lookarious in JavaScript Noobs — сообщество новичков
Я не понял что у тебя за задача
источник

АВ

Александр Виноградов... in JavaScript Noobs — сообщество новичков
в общем, сделал так и это работает
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
я еще не шарю откуда feedbackForm. Это тип переменная let feedbackFrom = event.target?
источник

АВ

Александр Виноградов... in JavaScript Noobs — сообщество новичков
Andrew Fedak
я еще не шарю откуда feedbackForm. Это тип переменная let feedbackFrom = event.target?
const feedbackForm = document.getElementById('fb');
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
Александр Виноградов
в общем, сделал так и это работает
норм
источник

AF

Andrew Fedak in JavaScript Noobs — сообщество новичков
)
источник