jQuery sweetalert2 函数没有
jQuery sweetalert2 function does not
这对原始的 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"
});
}
}
});
})
我建议您看一下从 sweetalert 到 sweetalert2 的迁移指南。 Sweetalert2 不再使用回调,而是使用 promises。
您可以找到所有迁移详细信息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");
});
注意 function()
之前的 .then
使用 .then
您正在使用 promise,就像 sweetaler2 期望的那样,而不是回调。
这对原始的 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"
});
}
}
});
})
我建议您看一下从 sweetalert 到 sweetalert2 的迁移指南。 Sweetalert2 不再使用回调,而是使用 promises。
您可以找到所有迁移详细信息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");
});
注意 function()
.then
使用 .then
您正在使用 promise,就像 sweetaler2 期望的那样,而不是回调。