Проблема с закрытием библиотеки Sweet Alert, в которой есть таймер - PullRequest
0 голосов
/ 12 апреля 2019

Я работаю над сборкой приложения, используя Laravel.У меня есть платежная страница, которая разработана таким образом, что когда пользователь нажимает кнопку оплаты, я запускаю «сладкую» библиотеку с сообщением о том, что пользователь должен проверить свой телефон.Сладкое всплывающее предупреждение также имеет таймер обратного отсчета на 60 секунд, который работает нормально.

Когда таймер считает, я загружаю полезную нагрузку в бэкэнд через AJAX, в результате чего я использую API шлюза оплаты (который инициирует STK push).на телефон пользователя с реквизитами платежа).

Когда платеж пройдет успешно, мне нужно закрыть всплывающее окно со сладким предупреждением и перенаправить на другую страницу, которую я не могу сделать.Пожалуйста, помогите?

<script>
//When payment button is clicked
$("#payment").submit(function( event ) {
        event.preventDefault();

        //Initiate sweet alert library with a countdown timer of 60 seconds
        var timer = 60,
        isTimerStarted = false;

        (function customSwal() {
            swal({
                title: "Message Sent",
                text: "Please Check your Phone..." + timer,
                timer: !isTimerStarted ? timer * 1000 : undefined,
                showConfirmButton: false,
                closeOnClickOutside: false,
                showCancelButton: false,
            });
            isTimerStarted = true;
            if(timer) {
                timer--;
                setTimeout(customSwal, 1000);
            }
        })();
        //END sweet alert

        //Fetch data from form
        var token = $('#token').val();
        var phone = $("#phone").val();
        var email = $("#email").val();    
        var plan = $("#plan").val(); 
        var amt = $("#amount").val();     

        var type ={
            'token': token,
            'phone' : phone,
            'email' : email,
            'plan' : plan,
            'amt' : amt
        };

        // console.log(type);

        $.ajax({
            type: "POST",
            url: "payment",
            data:JSON.stringify(type),
            contentType: 'application/json',
            dataType: "json",
            success: function(response){
                //On success
                if(response == 'suc'){
                    //Add code to remove the sweet alert popup

                    //Page to redirect to
                    window.location.href="success" ;
                }
            },
            //Alert errors from backend
            error: function(data) {
                //console.log(data);
            }
        });
    });
    //END submission
</script> 
...