Сделать SweetAlert видимым при отправке формы

#javascript #html #flask #sweetalert

#javascript #HTML #колба #sweetalert

Вопрос:

В настоящее время я работаю над проектом Flask, в котором мне нужно опубликовать форму, и я показываю SweetAlert, как только форма будет опубликована. Но проблема в том, что как только запускается метод Swal, возникает метод Post и возвращается на ту же страницу, которая установлена с помощью Flask . Я хочу обновить страницу после отображения SweetAlert и нажатия пользователем кнопки Ok.

Вот мой код:

  if (k > 0) {
    e.preventDefault();
  } else {
    swal({
      title: "Thank You",
      text: "You Would Be Notified Soon",
      icon: "success",
    });
  }
});
  

и мой серверный сервер Python:

 if request.method == "POST":
        email = request.form['email']
        link = request.form['link']
        crntprice = int(request.form['crntprice'])
        btn_group = request.form.getlist("btn_group")
        change_price = False
        if "change_in_price" in btn_group:
            change_price = True
        tgt_price = 0
        if "btn_change_price" in btn_group:
            tgt_price = int(request.form['tgt_price'])
        item = Prices(email=email, link=link, crnt_price=crntprice,
                      change_price=change_price, lower_price=tgt_price)
        try:
            db.session.add(item)
            db.session.commit()
            return redirect('/')
        except:
            return "Error"
    else:
        return render_template("index.html")
  

Я просто хочу запустить пост-событие после того, как пользователь нажмет «ок» в предупреждении sweet.

Ответ №1:

Попробуйте это решение:

 swal({
            title: "...",
            text: "Are you sure you want to...?",
            type: "success",
            showCancelButton: true,
            confirmButtonText: "Yes",
            cancelButtonText: "No"
        }).then(result => {
            if (
                result.dismiss !== swal.DismissReason.cancel amp;amp;
                result.dismiss !== swal.DismissReason.backdrop
            ) {
                return this.genericService
                    .servicePost("/endpoint", payload)
                    .subscribe(data => {
                        if (data) {
                            swal({
                                position: "center",
                                type: "success",
                                title: "...",
                                showConfirmButton: false,
                                timer: 1500
                            });

                           
                        } else {
                            swal({
                                title: "Erreur!",
                                text:
                                    "An error has occurred",
                                type: "error",
                                confirmButtonText: "ok"
                            });
                        }
                    });
            }
        });