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

Php 从数据库中删除记录的ajax不会在laravel中触发重定向,php,ajax,laravel,sweetalert2,Php,Ajax,Laravel,Sweetalert2,我正在使用ajax请求从数据库中删除一条记录。这将起作用并删除记录,但不会使用成功消息重定向用户 我正在使用sweetalert模式显示“确认删除”按钮,当您单击“是”时,模式将消失,记录已被删除,但页面不会重定向,记录不会消失,直到您刷新页面 这似乎被忽视了- return redirect()->route('users.index')->with('success', 'User deleted!'); 阿贾克斯- <script> $(document).re

我正在使用ajax请求从数据库中删除一条记录。这将起作用并删除记录,但不会使用成功消息重定向用户

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

这似乎被忽视了-

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

<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>

通过显示警报,然后在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>

$(文档).ready(函数(){
$(“.swal2确认”)。单击(函数(){
var id='{{$delete_id}}';
$.ajax({
键入:“post”,
url:'/admin/users'+'/'+id,
数据类型:“json”,
标题:{'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]')。attr('content')},
数据:{{u方法:'delete',“{u令牌”:“{{csrf\u令牌()}}”,id:id},
完成:函数(){
喷火({
键入:“成功”,
标题:“用户已删除!”,
showconfixton:false,
计时器:2500
});
setTimeout(函数(){window.location.replace('/admin/users')},2500);
}
});
});
});

您应该返回json响应,如
返回响应(['url'=>route('user.index')],200)
然后在ajax成功部分,您可以这样做
window.location.href=data.url
,如果您使用ajax调用,它不会将您重定向到该页面,您需要发送成功状态以响应ajax调用,然后重新加载页面位置;或者不使用ajax,只需使用url调用delete函数,它就可以像编写代码一样工作
<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>