Как сделать вызов AJAX с помощью SweetAlert

Я использую SweetAlert для вызова AJAX, когда пользователь хочет удалить учетную запись. Но мой код не работает ниже. Я также хочу добавить кнопку подтверждения и отмены, но я не знаю, как правильно использовать SweetAlert.

Любая помощь будет оценена.

Я использую CDN от SweetAlert.

https://unpkg.com/sweetalert/dist/sweetalert.min.js с https://sweetalert.js.org/

 swal({
   closeOnClickOutside: false,
   icon: "warning",
   title: 'Do you want to remove your account?',
   text: 'This action can not be undo',
   showConfirmButton: false,
   closeOnConfirm: false,
   showSpinner: true
 },function () {
   $.ajax({
     url: "delete_account.php",
     method: "POST",
     data: {
       id: 5
     },
     success: function () {
       swal("Deleted!", "Successfully deleted", "success");
     }
   });
 });

person Iamgisnet    schedule 22.09.2017    source источник
comment
Вы пробовали читать какие-либо документы для SweetAlert? sweetalert.js.org/docs CTRL + F -› confirm простой поиск по ключевым словам. Я уверен, что вы найдете то, что вам нужно в документации, это требует времени и чтения с некоторым тестированием.   -  person NewToJS    schedule 22.09.2017
comment
Спасибо за ответ   -  person Iamgisnet    schedule 22.09.2017


Ответы (3)


Вы можете вызвать ajax при подтверждении сладкого оповещения следующим образом.

swal({
    title: "Are you sure to delete this  of ?",
    text: "Delete Confirmation?",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Delete",
    closeOnConfirm: false
  },
  function() {
    $.ajax({
        type: "post",
        url: "url",
        data: "data",
        success: function(data) {}
      })
      .done(function(data) {
        swal("Deleted!", "Data successfully Deleted!", "success");
      })
      .error(function(data) {
        swal("Oops", "We couldn't connect to the server!", "error");
      });
  }
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">

person Jino Shaji    schedule 22.09.2017
comment
Это действительно помогает. Большое спасибо. - person Iamgisnet; 22.09.2017
comment
Если это полезно для вас, примите ответ, чтобы он был полезен для других. - person Jino Shaji; 22.09.2017
comment
Я уже принял ответ или что-то не так? - person Iamgisnet; 22.09.2017
comment
Я не видел здесь принятого ответа. Если вы хотите принять, нажмите на галочку. - person Jino Shaji; 22.09.2017
comment
Подскажите, пожалуйста, как принять благодарность? - person Iamgisnet; 22.09.2017
comment
Сейчас в порядке. Благодарность - person Iamgisnet; 22.09.2017
comment
Спасибо. В вашем профиле я заметил, что ни один из ответов не принят, поэтому примите, если эти ответы полезны для вас, они могут быть полезны для других. - person Jino Shaji; 22.09.2017
comment
Мне нужна помощь, вы можете еще помочь? - person Iamgisnet; 22.09.2017
comment
@Bidgee Если это связано с этой темой, просто спросите. В противном случае опубликуйте это как другой вопрос? - person Jino Shaji; 22.09.2017
comment
Хорошо, позвольте мне сделать сейчас - person Iamgisnet; 22.09.2017

Вызов ajax выполняется только при нажатии кнопки подтверждения.

   function deleteorder(orderid) {
        swal({
          title: "Are you sure?", 
          text: "Are you sure that you want to cancel this order?", 
          type: "warning",
          showCancelButton: true,
          closeOnConfirm: false,
          confirmButtonText: "Yes, cancel it!",
          confirmButtonColor: "#ec6c62"
        }, function() {
            $.ajax(
                    {
                        type: "post",
                        url: "/admin/delete_order.php",
                        data: "orderid="+orderid,
                        success: function(data){
                        }
                    }
            )
          .done(function(data) {
            swal("Canceled!", "Your order was successfully canceled!", "success");
            $('#orders-history').load(document.URL +  ' #orders-history');
          })
          .error(function(data) {
            swal("Oops", "We couldn't connect to the server!", "error");
          });
        });
       }

Ответ здесь

person Black Mamba    schedule 22.09.2017
comment
да работает спасибо - person Iamgisnet; 22.09.2017

вы можете попробовать, как показано ниже.

setTimeout(function () { 
swal({
  title: "Wow!",
  title: 'Do you want to remove your account?',
   text: 'This action can not be undo',
  confirmButtonText: "OK"
},
function(isConfirm){
  if (isConfirm) {
    $.ajax({
     url: "delete_account.php",
     method: "POST",
     data: {
       id: 5
     },
     success: function () {
       swal("Deleted!", "Successfully deleted", "success");
     }
   });
  }
}); }, 1000);
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert-dev.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">

person chirag satapara    schedule 22.09.2017
comment
Спасибо за ответ - person Iamgisnet; 22.09.2017