Php 在laravel中更新状态时,如何刷新和保存datatable的状态
在我的项目中,我想在更新Laravel中的状态时刷新数据表的savestate(datatable savestate)以及数据表的savestate,状态正在更新到数据库中,但数据表没有刷新,存储状态也没有完成,我无法理解我在哪里出错,下面是我正在使用的代码 路线 控制器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('
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>