@HippieCocoa

Как получить результат отправки на сервер, если fetch-запрос был в одной функции, а результат нужен в другой?

Есть два файла, в одном реализуется скрипт для модального окна, в другом реализуется валидация формы и отправка данных на сервер.

Ситуация следующая: создается модальное окно, в него помещается форма, при отправке данных, модальное окно закрывается, но тут же появляется новое, в котором написано в зависимости от результата отправки данных либо "Спасибо, мы с вами свяжемся", либо "Кажется что-то пошло не так". То есть получается, в одном файле вызывается fetch-запрос, в другом файле нужен результат этого fetch-запроса, как его получить? Единственное, что приходит в голову - сделать свойство в глобальном объекте и туда помещать результат Response.ok, но правильно ли так делать, я не знаю.

//form.js
response = await fetch(file.php', {
  method: 'POST',
  body: new FormData(form)
});

//modal.js
...
if(response.ok){ //Как получить из другого файла?
modalSuccess.open();
} else{
modalError.open();
}
...
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
@GeKskill
Вызывайте функцию модального окна оттуда где и положено, там где и делаете запрос к серверу, ваш modal.js никак не должен быть связан c какими-либо ответами сервера.
//form.js
response = await fetch(file.php', {
  method: 'POST',
  body: new FormData(form)
});

if(response.ok){ 
modalSuccess.open();
} else{
modalError.open();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы