服务器端处理,使用 Laravel 8 过滤数据表

server side processing , filter datatables using laravel 8

提问人:user14053977 提问时间:6/16/2021 最后编辑:user14053977 更新时间:6/17/2021 访问量:857

问:

我正在尝试根据列的值从数据表中隐藏行,使用服务器端处理将行与列一起隐藏。actif = 0

所以我使用以下代码

我的脚本:

<script type="text/javascript">
  

$('#hide').click(function(){
alert("in");

if (!$.fn.DataTable.isDataTable('#datatableRows')) {
 
 //  $('#datatableRows').DataTable().destroy();
  var table = $('#datatableRows').DataTable({

        
        processing: true,
        serverSide: true,
         var actif = $(this).attr('actif');
        ajax:{

         url: "{{ route('castingss.filter_status') }}",
          data:actif
        },
        columns:[
        
         {
          data: 'photo',
          name: 'photo',
          render: function(data, type, full, meta){

                    return "<img src={{ URL::to('/') }}/castingimages/" + data +  " class='list-thumbnail responsive border-0 card-img-left' />";
          },
          orderable: false
         },
         {data:'nom',
          name: 'nom',
          render:function(data,type,full,meta){
            return "<a href='profile'>" + data + "</a>";
          }
         },
          {
          data: 'cine',
          name: 'cine'
         },
         {
         data:   "tel1",
         name:   "tel1"
         },
        
         
         {
          data: 'action',
          name: 'action',
          orderable: false
         }
        ] 
       });
  
}
 });

</script>

我的控制器:

function filter_status(Request $request)
{
    if(request()->ajax())
    {
        if($request->actif = 0)
      {
       $data = DB::table('castings')
         ->where('actif', array($request->actif = 1))
         ->get();
         dd($data);
      }
       return datatables()->of($data)->make(true);
    }
    return view('Casting.castingss');
}

我的路线 :

Route::group(['middleware' => ['auth','role:admin']], function() { 
   Route::get('castingss/filter_status', [App\Http\Controllers\CastingController::class, 'filter_status'])->name('castingss.filter_status');
});

目前我在控制台中出现以下错误:

Uncaught SyntaxError: Unexpected identifier

更新

当我单击“隐藏”按钮时,有我的网络选项卡->XHR

enter image description here

我的代码有问题吗,是什么阻止了行隐藏?

先谢谢你

jQuery ajax Laravel 服务器端

评论

0赞 Swati 6/16/2021
嗨,换档线直接在这里.var actif = $(this).attr('actif');data:$(this).attr('actif');
0赞 user14053977 6/17/2021
@Swati,谢谢你解决了我的问题,但是当我点击按钮隐藏时仍然发生任何事情,我在事件中放置了一个警报,警报显示,但是我在控制器中的函数进程不起作用,我的路由可能是问题,因为没有显示错误,就好像它没有调用控制器的函数一样?
0赞 Swati 6/17/2021
检查网络 tab->XHR 是否已启动 ajax 调用。
0赞 user14053977 6/17/2021
@Swati,检查我的更新
0赞 Swati 6/17/2021
你的代码是否进入if-statement?另外,控制台中有任何错误吗?

答: 暂无答案