Php 在laravel中更新状态时,如何刷新和保存datatable的状态

Php 在laravel中更新状态时,如何刷新和保存datatable的状态,php,jquery,ajax,laravel,datatables,Php,Jquery,Ajax,Laravel,Datatables,在我的项目中,我想在更新Laravel中的状态时刷新数据表的savestate(datatable savestate)以及数据表的savestate,状态正在更新到数据库中,但数据表没有刷新,存储状态也没有完成,我无法理解我在哪里出错,下面是我正在使用的代码 路线 控制器 public function changestatus($id){ $cat_statuss = Category::find($id); if (!empty($cat_statuss)) { // dd('

在我的项目中,我想在更新Laravel中的状态时刷新数据表的savestate(datatable savestate)以及数据表的savestate,状态正在更新到数据库中,但数据表没有刷新,存储状态也没有完成,我无法理解我在哪里出错,下面是我正在使用的代码

路线

控制器

public function changestatus($id){

$cat_statuss = Category::find($id);

if (!empty($cat_statuss)) {
    // dd('Record is available.');
    $cat_status = Category::where('id',$id)->first();
    $status  = $cat_status->status;
    $statuss = 'active';
    if($status=='active'){
        $statuss = 'inactive';
    }else{
        $statuss = 'active';
    }

    $cat_status->status = $statuss;

    if($cat_status->update()){
        // return redirect('/list-category')->with('status_change','Updated Successfully.');
        return response()->json(array(
            'success' => true,
            'message'=> 'Status Changed Successfully.',
            'errors' => false
    
        ), 200); 
    }else{

        return response()->json(array(
            'success' => false,
            'errors' => array('status_change_err'=>'Oops! There is an error.')
    
        ), 400);

    }
}else{
    // dd('Record is not available.');
    return response()->json(array(
        'success' => false,
        'errors' => array('status_change_err'=>'Category Not Found.')

    ), 404);
}



}
列表类别页

<td> 
<a href="category_status/{{$cate->id}}" onclick="return confirm('Are you sure want to change the status?');" class="status_button btn btn-sm btn-<?php if($cate->status=='inactive'){ echo 'danger'; }else{ echo 'success'; } ?>" data-id="{{$cate->id}}"> <?php if($cate->status=='active'){ echo 'Active'; }else{ echo 'Inactive'; } ?></a>
</td>

<script>

var table = $('#example2').DataTable( { stateSave: true } );

$(document).on('click','.status_button',function(e){
    e.preventDefault();
    var statusid = $(this).attr('data-id');
    url = $(this).attr('href');
    $.ajax({
        url:url,
        method:"GET",
        data:{"_token": "{{ csrf_token() }}"},
        dataType:'json',
        success:function(response){

          // console.log(response);

          swal({
          title: "Added",
          text: response.message,
          type: "success"
          }, function () {

            

            
          });

          
            
        },
        error: function(response) {
          swal("Error", response.responseJSON.errors.status_change_err, "error");
        }


    });
});
    
</script>

var table=$('#example2').DataTable({stateSave:true});
$(文档)。在('单击','上。状态按钮',函数(e){
e、 预防默认值();
var statusid=$(this.attr('data-id');
url=$(this.attr('href');
$.ajax({
url:url,
方法:“获取”,
数据:{csrf_-token:{{csrf_-token()}}}},
数据类型:'json',
成功:功能(响应){
//控制台日志(响应);
游泳({
标题:“添加”,
文本:response.message,
类型:“成功”
},函数(){
});
},
错误:函数(响应){
swal(“错误”,response.responseJSON.errors.status\u change\u err,“错误”);
}
});
});

您所说的“数据表的保存状态”是什么意思?您指的是DataTables选项,还是其他什么?您能澄清一下您的问题吗?@andrewjames yes DataTables stateSaveOK-然后继续向您的DataTable添加该选项。我看到了您的编辑-这不是您定义DataTables初始化选项的方式。请参见文档中的示例。在您的例子中,它将是:
var-table=$('#example2').DataTable({stateSave:true})@andrewjames当我只使用这个时,什么都不会发生
<td> 
<a href="category_status/{{$cate->id}}" onclick="return confirm('Are you sure want to change the status?');" class="status_button btn btn-sm btn-<?php if($cate->status=='inactive'){ echo 'danger'; }else{ echo 'success'; } ?>" data-id="{{$cate->id}}"> <?php if($cate->status=='active'){ echo 'Active'; }else{ echo 'Inactive'; } ?></a>
</td>

<script>

var table = $('#example2').DataTable( { stateSave: true } );

$(document).on('click','.status_button',function(e){
    e.preventDefault();
    var statusid = $(this).attr('data-id');
    url = $(this).attr('href');
    $.ajax({
        url:url,
        method:"GET",
        data:{"_token": "{{ csrf_token() }}"},
        dataType:'json',
        success:function(response){

          // console.log(response);

          swal({
          title: "Added",
          text: response.message,
          type: "success"
          }, function () {

            

            
          });

          
            
        },
        error: function(response) {
          swal("Error", response.responseJSON.errors.status_change_err, "error");
        }


    });
});
    
</script>