我无法将变量从Datatables ajax请求传递给控制器

我无法将变量从Datatables ajax请求传递给控制器,ajax,laravel,controller,request,Ajax,Laravel,Controller,Request,我试图将DataTableJavaScript请求中的一个变量传递给Laravel中的控制器。 我用参数数据传递它:{}的ajax Datatable,但是当我试图在我的控制器'getUsers'中获取请求时,请求为null为什么?我怎样才能解决这个问题?我试图在同一个表中分离用户表查询和垃圾表查询 这里我的ajax请求包含变量'd.trashed'true或false var dataTable = $('#users-table').DataTable({ processin

我试图将DataTableJavaScript请求中的一个变量传递给Laravel中的控制器。 我用参数数据传递它:{}的ajax Datatable,但是当我试图在我的控制器'getUsers'中获取请求时,请求为null为什么?我怎样才能解决这个问题?我试图在同一个表中分离用户表查询和垃圾表查询

这里我的ajax请求包含变量'd.trashed'true或false

var dataTable = $('#users-table').DataTable({
        processing: true,
        serverSide: true,
        //deferRender: true,
        ajax: {
            url: config.routes.userUrl,
        data: function (d) {
            d.src_name = $('input[name=src_name]').val();
            d.src_role = $('select[name=src_role]').val();
            d.date_from = $('input[name=date_from]').val();

                d.date_to = $('input[name=date_to]').val();
                d.trashed = trashControl;
            }
        },
        columns: [
        {data: 'check', name: 'check', orderable: false, class: 'select-checkbox', targets: 0, 'checkboxes': {
                'selectRow': true
            }},
        {data: 'user_thumb', name: 'user_thumb', orderable: false, searchable: false},
        {data: 'name', name: 'name', class: 'user_name'},
        {data: 'email', name: 'email', class: 'user_email'},
        {data: 'role', name: 'role'},
        {data: 'created_at', name: 'created_at'},
        {data: 'updated_at', name: 'updated_at'},
        {data: 'action', name: 'action', orderable: false, searchable: false}
    ],
        order: [[ 5, "desc" ]]
});
这里是我试图获取$req->垃圾变量时的控制器。在浏览器的控制台请求中,请求变量存在并具有其值:

public function getUsers(Request $req){
        if($req->trashed == false){
            $users = User::select(['id', 'user_thumb', 'name', 'email', 'role', 'created_at', 'updated_at']);
        }else{
            $users = User::select(['id', 'user_thumb', 'name', 'email', 'role', 'created_at', 'updated_at'])->onlyTrashed();
        }

        return DataTables::of($users)
            ->filter(function ($query) use ($req) {
                if ($req->has('src_name')) {
                    $regex = $req->get('src_name');
                    $query->where('name', 'like', '%'.$regex.'%');
                }
                if ($req->has('src_role')) {
                    $regex = $req->get('src_role');
                    $query->where('role', 'like', '%'.$regex.'%');
                }
                if($req->get('date_from') != '' && $req->get('date_to') == ''){
                    $regex = $req->get('date_from');
                    $query->whereDate('created_at', '=', $regex);
                }
                if($req->get('date_from') != '' && $req->get('date_to') != ''){
                    $from = $req->get('date_from');
                    $to = $req->get('date_to');
                    $query->whereBetween('created_at', [$from, $to])->get();
                }
            }, true)
            ->addColumn('check', function () {
                return '';
            })
            ->addColumn('user_thumb', function ($user) {
                $guid = $user->user_thumb ? asset($user->user_thumb) : asset($user->placeholder);
                return '<img src="'.$guid.'" width="50" class="rounded-circle">';
            })
            ->addColumn('action', function ($user) use ($req) {
                $buttons = ($req->trashed == false) ? $this->getActionButtons($user) : $this->getActionTrashedButtons($user);
                return $buttons;
            })
            ->editColumn('created_at', function($user){
                return $user->created_at ? $user->created_at->format('d M Y') : '';
            })
            ->editColumn('updated_at', function($user){
                return $user->updated_at ? $user->updated_at->format('d M Y') : '';
            })
            ->setRowClass(function () {
                return 'row-data';
            })
            ->rawColumns(['user_thumb', 'action'])
            ->make(true);
    }

非常感谢

ajax调用中的数据属性必须向控制器发送一个对象,尝试发送如下内容:数据:{d.src_name:$'input[name=src_name]'。val,somethingelse:$'sometinput.val},这必须向控制器发送值。@itepifanio感谢您的帮助,但我解决了这个问题。在我的控制器中,我将字符串与布尔值匹配。我把这个->假改成了->假,现在它可以工作了。