首页 > 解决方案 > 在laravel中更新状态时如何刷新以及数据表的savstate

问题描述

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

路线

Route::get('/list-category', [CategoryController::class, 'listcategory'])->name('listcategory');

控制器

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>

标签: phpjqueryajaxlaraveldatatables

解决方案


推荐阅读