Sweetalert закрывает всплывающее окно при подтверждении вызова API-запроса - PullRequest
1 голос
/ 08 апреля 2019

Мои всплывающие окна закрываются после нажатия кнопки подтверждения и снова открывают новое всплывающее окно, которое показывает успех. Существует огромный промежуток, когда процесс загрузки не показывается.

Я прочитал документацию запроса ajax на sweetalert . Там все работает отлично, кнопка показывает загрузку во время вызова API. Я пытаюсь сделать то же самое. Я хочу удалить запрос, когда я сначала открываю swal для подтверждения, и если да, он вызовет API без закрытия всплывающего окна.

removeSession: function(sessionId){
    var _this = this;
    var errormessage = 'Error! Session not delete';
    var callData = {}
    callData["sessionId"] = 0;
    swal({
        title: "Are you sure?",
        text: "Once deleted, the session will be removed.",
        icon: "warning",
        buttons: true,
        dangerMode: true,
      })
      .then((willDelete) => {
        if (willDelete) {
            app.apiCustomPost(apiController_data, "delete", callData , function(res){

                if(res.status=="success") {

                    swal(res.message, {
                        icon: "success",
                      });
                      _this.init();

                } else {

                    swal(errormessage, {
                        icon: "error"
                    });                     

                }
            }); 
        } else {
            swal(errormessage, {
                icon: "error"
            });             
        }
      });
},

Пожалуйста, помогите мне исправить мой код.

1 Ответ

0 голосов
/ 08 апреля 2019

Я решаю это наконец.Магия на button свойства сладкого оповещения.Нам нужно описать значение closeModal как true или false, чтобы закрыть модальное окно или не закрывать его.

Теперь кнопка показывает при загрузке ...

Надеюсь, это кому-нибудь поможет.

removeSession: function(sessionId){
    var _this = this;
    var errormessage = 'Error! Session not delete';
    var callData = {}
    callData["sessionId"] = 0;
    swal({
        title: "Are you sure?",
        text: "Once deleted, the session will be removed.",
        icon: "warning",
        buttons: {

              cancel: {
                text: "Cancel",
                value: false,
                visible: true,
                className: "",
                closeModal: true,
              },
              confirm: {
                text: "OK",
                value: true,
                visible: true,
                className: "",
                closeModal: false
              }

        },
        dangerMode: true,
      })
      .then((isConfirm) => {
        if (!isConfirm){ return false;}


            app.apiCustomPost(apiController_data, "delete", callData , function(res){

                if(res.status=="success") {

                        swal(res.message, {
                            icon: "success",
                          });

                          _this.init();

                } else {
                        swal(errormessage, {
                            icon: "error"
                        });                     

                }
            }); 

      });

},
...