如何解决使用 <a> 使用 jquery 双重确认 SweetAlert
当我想删除一个帐户时,我想做一个双重确认,我真的为此很挣扎。我在论坛上查过,但似乎没有什么像我的问题。我正在使用 Symfony
我的 UserAccountController 上的 deleteAccount 函数:
random_bytes(sodium_CRYPTO_SECRETBox_NONCEBYTES)
我在视图上的链接:
/**
* @Route("user/account/delete",name="user_delete")
*/
public function deleteAccount(): Response{
$user = $this->getUser();
$this->container->get('security.token_storage')->setToken(null);
$entityManager = $this->getDoctrine()->getManager();
$entityManager->remove($user);
$entityManager->flush();
$this->addFlash(
'success','Account Deleted successfully'
);
return $this->redirectToRoute('homepage');
}
还有我的 jquery :
<a href="{{ path('user_delete') }}" class="btn btn-danger deleteButton">Delete Account</a>
});
解决方法
您必须将删除 url 存储在一个变量中,因为“this”不再指代按钮
$('.deleteButton').on('click',function() {
event.preventDefault();
const deleteUrl = $(this).attr('href');
Swal.fire({
title: 'Are you sure?',text: "You won't be able to revert this!",icon: 'warning',showCancelButton: true,confirmButtonColor: '#3085d6',cancelButtonColor: '#d33',confirmButtonText: 'Yes,delete it!'
}).then((result) => {
if (result.isConfirmed) {
setTimeout( function () {
$.get(deleteUrl,{});
},1200);
Swal.fire(
'Deleted!','','success'
)
}
})
或者这样做,
setTimeout( function () {
$.get('{{ path('user_delete') }}',{});
},1200);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。