2016-06-16 5 views
1

Это сработало отлично с оригинальным sweetalert, но с sweetalert2 он никогда не запускает функцию перезагрузки моих данных ajax.jQuery sweetalert2 функция не

Может ли кто-нибудь увидеть ошибку?

  .on('click', '#saveRider', function (e) { 
      e.preventDefault(); 
      $.ajax({ 
       url: 'ajax/saveRiderClass.php', 
       dataType: 'JSON', 
       type: 'POST', 
       data: $('#addRidersForm').serialize(), 
       success: function (json) { 
        if (json && json.status && json.already_entered === false) { 
         swal({ 
           title: "Rider Saved and Classes Added!", 
           type: "success" 
          }, 
          function (isConfirm) { 
           if (isConfirm === true) { 
            $("#enteredRiders").load("ajax/getEnteredRiders.php"); 
            $("#uniqueRiders").load("ajax/getUniqueRiders.php"); 
            $("#totalRiders").load("ajax/getTotalEntries.php"); 
           } 
          }); 
        } 
        else if (json && json.status && json.already_entered === true) { 
         swal({ 
          title: "Rider already entered in that class", 
          type: "warning" 
         }); 
        } 
       } 
      }); 
     }) 

ответ

3

Предлагаю вам ознакомиться с руководством по миграции от sweetalert до sweetalert2. Sweetalert2 больше не использует обратные вызовы, но вместо этого обещает.

Вы можете найти все детали миграции here

EDIT: Вот как вы должны изменить свой код. Я беру первый призыв к сладости, который ты делаешь.

Этот вызов:

swal({ 
     title: "Rider Saved and Classes Added!", 
     type: "success" 
     }, 
     function (isConfirm) { 
      if (isConfirm === true) { 
       $("#enteredRiders").load("ajax/getEnteredRiders.php"); 
       $("#uniqueRiders").load("ajax/getUniqueRiders.php"); 
       $("#totalRiders").load("ajax/getTotalEntries.php"); 
      } 
     }); 

должен стать чем-то вроде этого:

swal({ 
     title: "Rider Saved and Classes Added!", 
     type: "success" 
     }.then(function() { 
      $("#enteredRiders").load("ajax/getEnteredRiders.php"); 
      $("#uniqueRiders").load("ajax/getUniqueRiders.php"); 
      $("#totalRiders").load("ajax/getTotalEntries.php"); 
     }); 

Обратите внимание на .then до function()

Использование .then вы используете обещания так же, как sweetaler2 ожидает вместо обратных вызовов ,

+0

Я перечитаю его. – indymx

+0

Я добавил пример из вашего кода. Это должно помочь вам увидеть разницу. – ChandlerBing42

+0

Ahh .. Я прочитал руководство по миграции, но на самом деле не видел огромной разницы. Я попробую это. – indymx

 Смежные вопросы

  • Нет связанных вопросов^_^