【发布时间】:2021-12-04 17:56:10
【问题描述】:
我正在使用 Sweetalert2 和 Ajax 调用。
我只想在单击“确定”后显示错误消息。
目前,当点击 CANCEL 或在 modal 之外,它仍然会进行 Ajax 调用(并显示错误)。
$(function() {
$('.user-details').click(function(e) {
e.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: '',
icon: 'question',
showCancelButton: true,
showLoaderOnConfirm: true,
reverseButtons: true,
preConfirm: function() {
console.log('AJAX request');
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve();
}, 1200);
});
},
}).then(function() {
Swal.fire({
title: 'Error!',
text: 'I want to show this, only after clicking OK!',
icon: 'error',
showCancelButton: false,
showLoaderOnConfirm: false,
});
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<button class='btn btn-success user-details'>View Details</button>
通过单击取消或在模式之外,我希望它在没有“错误”消息的情况下取消。
【问题讨论】:
-
您在
preConfirm中的 Ajax 调用在您单击取消或模式外时不运行。
标签: javascript ajax sweetalert2