отображение предупреждения перед перезагрузкой приложения по post-запросу (реакция)

#html #reactjs #axios

#HTML #reactjs #axios

Вопрос:

после post-запроса я хочу показать предупреждение, но страница обновляется после запроса и сбрасывается состояние, поэтому я не могу его контролировать… как я могу показать оповещение после post-запроса? это мой код, предупреждение здесь не работает

    async onClick(details) {
        try {
           await axios.post('xxx', details);
           alert('sucess')
        } catch(err) {
           console.log(err)
           alert('faiil')
        }
    }
  

есть предложения, как это сделать?

Комментарии:

1. Прикреплен ли этот onClick обработчик к submit кнопке a <form> ? Если это так, вам нужно вызвать .preventDefault() обработчик событий кнопки / формы, потому что в противном случае браузер будет делать то, что обычно делает форма отправки — делать запрос к форме action .

2. спасибо, брат, что сделал это

Ответ №1:

  1. Сначала добавьте свою функцию onClick, которая будет срабатывать при нажатии кнопки.

  2. Используется event.preventDefault() для остановки обновления страницы.

  3. Затем используйте .then в запросе axios, который будет работать как связующее

     const onClick = (event,details) => {
      event.preventDefault()
      axios.post('xxx', details)
         .then(response => {
             if (response.data.success) {
                 alert('Success')
             } else {
                 alert('Failed request')
             }
         })
       }