jQuery sweetalert2函数没有

时间:2016-06-16 11:12:27

标签: jquery sweetalert

这与原始的sweetalert一起工作得很好,但是对于sweetalert2,它从不运行重新加载我的ajax数据的功能。

任何人都可以看到错误吗?

         .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"
                        });
                    }
                }
            });
        })

1 个答案:

答案 0 :(得分:3)

我建议你看一下从sweetalert到sweetalert2的迁移指南。 Sweetalert2不再使用回调,而是承诺。

您可以找到所有迁移详情here

编辑:以下是修改代码的方法。我正在接受你的第一个sweetalert电话。

这个电话:

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所期望的那样使用promises而不是回调。