Обработка данных на стороне сервера Laravel 4

Здравствуйте, Stackoverflow. Сейчас я занимаюсь веб-проектом, в котором отображаются все продукты моего офиса. У меня возникла проблема. У меня есть эта страница, и я использовал обработку данных на сервере.

Вот мнение:

<table id="dloadTable" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>File ID Number</th>
<th>File Name</th>
<th>File Type</th>
<th>Date Issued</th>
<th>Uploader</th>

<th>Action</th>
</tr>
</thead>
<tfoot>
<tr>
<th>File ID Number</th>
<th>File Name</th>
<th>File Type</th>
<th>Date Issued</th>
<th>Uploader</th>

<th>Action</th>
</tr>
</tfoot>
</table>

контроллер:

public function getAdvanceFilterData()
{

$files = Files::select(array('files.id','files.file_name','files.file_type','files.date','files.username'));

return Datatables::of($files)->make(true);

Маршрут:

Route::get('/getfilesdata', 'FileController@dloadFile');

И JS:

$(document).ready(function() {
var oTable = $('#dloadTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '/getfilesdata',
dataSrc:""},
order: [[1,'desc']],
columnDefs: [ { //this prevents errors if the data is null
targets: "_all",
defaultContent: ""} ],
columns: [
{data: 'id', name: 'files.id'},
{data: 'file_name', name: 'files.file_name'},
{data: 'file_type', name: 'files.file_type'},
{data: 'date', name: 'files.date'},
{data: 'username', name: 'files.username'},
{data: 'action', name: 'action', orderable: false, searchable: false}

]
});

} );

И когда я пытаюсь проверить, что я получаю в своем контроллере, это не данные, я ожидаю, что они не возвращают данные JSON, что мне делать ?. ТИА

0

Решение

Вам нужно два пути для его работы. Первый маршрут для отображения
вид таблицы и 2-й маршрут для обработки dataTables JSON
ответ. На вашем примере getAdvanceFilterData только для
обработка ответа JSON. Вам нужно добавить дополнительный маршрут как
getIndex делает в этом пример и загрузить соответствующий вид.

Пример вашего класса контроллера

class FilesController extends Controller
{
/**
* Displays datatables front end view
*/
public function getIndex()
{
return view('files.index');
}

/**
* Process datatables ajax request.
*/
public function getAdvanceFilterData()
{
$files = DB::table('files')->select(array('files.id','files.file_name','files.file_type','files.date','files.username'));

return Datatables::of($files)->make(true);
}
}

маршрутизация

Route::controller('files', 'FilesController', [
'anyData'  => 'files.data',
'getIndex' => 'files',
]);

Javascript

$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('files.data') !!}',
order: [[1,'desc']],
columnDefs: [{//this prevents errors if the data is null
targets: "_all",
defaultContent: ""}],
columns: [{data: 'id', name: 'files.id'},
{data: 'file_name', name: 'files.file_name'},
{data: 'file_type', name: 'files.file_type'},
{data: 'date', name: 'files.date'},
{data: 'username', name: 'files.username'},
{data: 'action', name: 'action', orderable: false, searchable:false}]
});
});
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]