#php #ajax #laravel
#php #ajax #laravel
Вопрос:
как использовать таблицу данных ajax в laravel. пожалуйста, предоставьте решение
Ответ пришел с сервера, но не был применен в таблице данных
Ответ №1:
В файле javascript
$(document).ready(function ()
{
var apptmntstatus = $("#status").val();
function emergency_passportapps()
{
var table = $('#emergency_passportapps').DataTable({
"ordering": true,
"processing": true,
"serverSide": true,
"bDestroy": true,
"order": [],
"language": {
"paginate": {
"previous": '<i class="fa fa-arrow-left" aria-hidden="true"></i>',
"next": '<i class="fa fa-arrow-right" aria-hidden="true"></i>'
}
},
"ajax":
{
"url": baseurl "emergency_passportapps",
"type": "POST",
"data":
{
"_token": $('#token').val(),
"emg_pass_date": $("#emg_pass_date").val(),
},
},
"columns": [
{ "data": "id" },
{ "data": "applicant_name" },
{ "data": "applicant_passport_no" },
{ "data": "serviceapplied" },
{ "data": "description_emg" },
{ "data": "view" },
]
});
}
emergency_passportapps();
$("#emg_pass_search").click(function(e){
e.preventDefault();
emergency_passportapps();
});
});
В контроллере…
ini_set('memory_limit','2048M');
$columns = array(0 =>'id',
1 =>'appmnt_token',
2 =>'appmnt_counter',
3=> 'appmnt_date',
4=> 'appmnt_time',
5=> 'applicant_name',
6=> 'applicant_passport_no',
7=> 'appointment_status',
8=> 'action',
9=> 'view'
);
$length = (isset($_POST['length']) amp;amp; $_POST['length'] != '') ? $_POST['length'] : '10';
$start = (isset($_POST['start']) amp;amp; $_POST['start'] != '') ? $_POST['start'] : '0';
$searchablVal = $_POST['search']['value'];
$ordercolumnName = $orderDir = null;
$date = null;
$datecond = null;
$apptmntstatus = null;
$start = $request->input('start');
$limit = $request->input('length');
if($limit !="")
{
$limit = $request->input('length');
}else
{
$limit = 10;
}
$start = $request->input('start');
$search = $request->input('search.value');
$dir = $request->input('order.0.dir');
$where = ['emergency_passport'=>'1'];
if($request->emg_pass_date !="")
{
$emg_pass_date = date('Y-m-d',strtotime($request->emg_pass_date));
$where['appmnt_date']=$emg_pass_date;
}
if($search =="")
{
$Querydata = $totalData=DB::table('appointment_register')->where($where);
$TotaldataCount= $totalData->count();
$Querydata = $Querydata->offset($start);
$Querydata = $Querydata->limit($limit,$dir);
$Querydata = $Querydata->orderBy('id',"DESC");
$Querydata = $Querydata->get();
$QuerydataTotal = $Querydata->count();
}else
{
$Querydata = $totalData= DB::table('appointment_register')->where($where);
$Querydata = $Querydata->where('apptmnt_unique_id', 'LIKE',"%{$search}%");
$Querydata = $Querydata->orWhere('applicant_name', 'LIKE',"%{$search}%");
$Querydata = $Querydata->where('emergency_passport','1');
$Querydata = $Querydata->orWhere('applicant_passport_no', 'LIKE',"%{$search}%");
$Querydata = $Querydata->where('emergency_passport','1');
$Querydata = $Querydata->orWhere('serviceapplied', 'LIKE',"%{$search}%");
$Querydata = $Querydata->where('emergency_passport','1');
$Querydata = $Querydata->offset($start);
$Querydata = $Querydata->limit($limit,$dir);
$Querydata = $Querydata->orderBy('id',"DESC");
$Querydata = $Querydata->get();
$TotaldataCount=$QuerydataTotal = $Querydata->count();
}
$datares = [];
$i = $start 1;
foreach ($Querydata as $val)
{
$nestedData = array();
$appointment_action = '';
$statusbtn ='';
$nestedData['id'] = $i;
$nestedData['applicant_name'] = $val->applicant_name;
$nestedData['applicant_passport_no'] = $val->applicant_passport_no;
$nestedData['serviceapplied'] = $val->serviceapplied;
$nestedData['description_emg'] = $val->description_emg;
$nestedData['view']= '<a href="emergency_appointment_view/'.$val->id.'" class="view" ><span class="glyphicon glyphicon-pencil apptmtview" data-id='.$val->id.'" aria-hidden="true" title="View"></span></a>';
$datares[] = $nestedData;
$i ;
}
$output = array(
"draw" => $_POST['draw'],
"recordsTotal" => $TotaldataCount,
"recordsFiltered" => $TotaldataCount,
"data" => $datares,
);
echo json_encode($output);