ajax 从数据库中删除记录不会在 laravel 中触发重定向

ajax to delete a record from database does not fire redirect in laravel

我正在使用 ajax 请求从我的数据库中删除一条记录。这有效并删除了记录,但是它不会使用成功消息重定向用户。

我正在使用 sweetalert 模式来显示确认删除按钮,当您单击“是”时,模式消失并且记录已被删除但页面不会重定向并且记录不会消失,直到您刷新页面.

这似乎被忽略了 -

return redirect()->route('users.index')->with('success', 'User deleted!');

AJAX -

<script>
 $(document).ready(function() { 
  $(".swal2-confirm").click(function(){
    var id = '{{ request()->delete_id }}';
    var route = '{{ request()->route }}';
    $.ajax({
      type:'post',
      url:'/admin/' + route + '/' + id,
      dataType: 'json',
      headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
      data: {'_method':'delete', "_token": "{{ csrf_token() }}", id:id},
    });
  });
});
</script>

控制器 -

public function destroy($id)
    {
      //Delete user from database
      User::find($id)->delete();

      return redirect()->route('users.index')->with('success', 'User deleted!');
    }

我通过显示警报然后在我的 ajax 中重新加载页面来解决这个问题 -

<script>
$(document).ready(function () {
  $(".swal2-confirm").click(function () {
    var id = '{{ $delete_id }}';
    $.ajax({
      type: 'post',
      url: '/admin/users' + '/' + id,
      dataType: 'json',
      headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
      data: { '_method': 'delete', "_token": "{{ csrf_token() }}", id: id },
      complete: function () {
        swal.fire({
          type: 'success',
          title: 'User Deleted!',
          showConfirmButton: false,
          timer: 2500
        });
        setTimeout(function () { window.location.replace('/admin/users') }, 2500);
      }
    });
  });
});
</script>