Laravel. Estoy tratando de crear un mensaje de confirmación de cierre de sesión cuando hago clic en mi botón de cierre de sesión. He hecho esto en mi navebar.blade.php.
<a class="dropdown-item" id="logout" href="{{ route('admin.logout') }}"> {{ __('Logout') }} </a>y esto a mi admin.blade.php pero no funciona pero debería funcionar
<script> $(docoment).on("click", "#logout", function(e) { e.preventDefault(); var link = $(this).attr("href"); swal({ title: "Are you Want to logout?", text: "", icon: "warning", buttons: true, dragerMode: true, }) .then((willDelete) => { if (willDelete) { window.location.href = link; } else { swal("Not Logout"); } }); }); </script>Aquí, la etiqueta <a> no espera a que se ejecute la función de clic. Redireccionará al enlace en href. Así que cambie la función de la siguiente manera.
<a class="dropdown-item" id="logout" data-link="{{ route('admin.logout') }}"> {{ __('Logout') }} </a> <script> $(docoment).on("click", "#logout", function(e) { e.preventDefault(); var link = $(this).attr("data-link"); swal({ title: "Are you Want to logout?", text: "", icon: "warning", buttons: true, dragerMode: true, }) .then((willDelete) => { if (willDelete) { window.location.href = link; } else { swal("Not Logout"); } }); }); </script>Si está utilizando jQuery> = 1.4.3, también puede obtener el atributo de datos como
var link = $(this).data("link");Bueno, preferiría crear un formulario para cerrar sesión. No se recomienda obtener el método para cerrar sesión.
<form action="{{ route('logout') }}" method="post" id="logoutorm"> @csrf <button type="submit" class="dropdown-item"> <i class="far fa-fw fa-arrow-alt-circle-left mr-1"></i> {{ __('Sign Out') }} </button> </form>Para enviar este formulario a través de Sweet Alert, puede hacer algo como esto:
<script> $(document).on("submit", "#logoutorm", function(event) { event.preventDefault(); let form = $(this); swal({ title: "Are you Want to logout?", text: "", icon: "warning", buttons: true, dragerMode: true, }) .then((willDelete) => { if (willDelete) { form.submit(); } else { swal("Logout Canceled"); } }); });Espero que esto funcione para ti :)