Я новичок в laravel. Мне удалось запустить datatable с помощью плагина jquery.
Мне нужна обработка на стороне сервера. На днях я столкнулся с ошибкой 404. Сегодня я встретил
внутренняя ошибка сервера 500. Вызов неопределенного метода Yajra \ Datatables \ Datatables:
Спасибо, что посмотрели на это.
вот маршрут ..
index.blade.php
поставщик услуг
псевдоним
затем присоединение
индекс публичной функции (Request $ request) {
$categories = Category::all();
$query = Accession::select('*');
//this is for links that will run query according to
//category type
if ($request->input('type')){
switch ($request->input('type')){
case 'Photo':
$query->where('category_id', 2);
break;
case 'Field Notes':
$query->where('category_id', 3);
break;
case 'Audio Recording':
$query->where('category_id', 4);
break;
case 'Instrument':
$query->where('category_id', 5);
break;
case 'Music Scores':
$query->where('category_id', 6);
break;
case 'Video':
$query->where('category_id', 7);
break;
case 'Vertical Files':
$query->where('category_id', 8);
break;
default:
$query->orderBy('id', 'asc')->get();
}
$accessions = $query->orderBy('id')->get();
return view('accessions.index', compact('accessions', 'categories'));
}
//this is for search bar
$search = $request->input('search'); //<-- we use global request to get the param of URI
if($search){
$accessions = Accession::where('groupcountry','LIKE','%'.$search.'%')
->orWhere('description', 'LIKE', '%'.$search.'%')
->orWhere('author', 'LIKE', '%'.$search.'%')
->orWhere('accession_no','LIKE','%'.$search.'%')
->orWhere('year','LIKE','%'.$search.'%')
->paginate(10);
return view('accessions.index', compact('accessions', 'categories'));
}
else{
$accessions = Accession::orderBy('id', 'asc')->get();
return view('accessions.index', compact('accessions', 'categories'));
}
}
Я изменил пространство имен на Yajra \ Datatables \ Facades \ Datatables;
Таблицы теперь отображаются независимо от полученной ошибки.
ошибка ошибка 200
Попробуйте просмотреть ответ ajax, чтобы лучше понять ошибку. Вам также может потребоваться дважды проверить, соответствуют ли ваши столбцы и js структуре вашей таблицы. Вероятно, это проблема js.
Спасибо за ответ. Да, я проверил ответ ajax. JSON lint выглядит хорошо. Ошибка 200 исчезла. Я проверил столбцы и js и сопоставил их со структурой таблицы. Пока что ошибка сейчас
Дважды проверим
404 Not Found - это периодически возникающая проблема таблиц данных из-за проблем со средой при использовании php artisan serve
. Пожалуйста, используйте valet, homestead или wamp / xampp, чтобы избежать этой проблемы.
@yajra . Да. В настоящее время я использую xampp. Поиск продолжается
Определение маршрута было пересмотрено. Прерывистый 404, но ajax возвращает данные. Думаю, я должен согласиться по вопросу экологии.
Развернул приложение в живую в героку. 404 больше нет. Так что это подтвержденная проблема окружающей среды. Закрытие этого. @yajra Спасибо, что посмотрели на ошибку. Ваша документация также помогла мне с левой кнопкой присоединиться, просмотреть и изменить, спасибо.
Приведенное выше решение работает, просто перенесите ваш проект в HTDOCS вашего XAMPP или www вашего WAMPP или запустите его вживую.
@ marker17 просто создайте свой javascript и web.php следующим образом
$(document).ready(function () {
var table = $('#example').DataTable({
dom: 'lBrtip',
processing: true,
serverSide: true,
ajax: {
'url':'{!!url("ajax/chapter/list")!!}',
'type': 'POST',
'headers': {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
}
},
orderCellsTop: true,
fixedHeader: true,
"columns": [{
data: 'DT_RowIndex',
orderable: false,
searchable: true
},
{data: 'stream_id'},
{data: 'course_id'},
{data: 'subject_id'},
{data: 'chapter_name'},
{data: 'status'},
{data: 'edit_delete',orderable: false},
],
});
});
И в web.php
Route :: any ('ajax / chapter / list', 'YourController @Method ');
этот код работал у меня.
@ marker17 просто создайте свой javascript и web.php следующим образом
$(document).ready(function () { var table = $('#example').DataTable({ dom: 'lBrtip', processing: true, serverSide: true, ajax: { 'url':'{!!url("ajax/chapter/list")!!}', 'type': 'POST', 'headers': { 'X-CSRF-TOKEN': '{{ csrf_token() }}' } }, orderCellsTop: true, fixedHeader: true, "columns": [{ data: 'DT_RowIndex', orderable: false, searchable: true }, {data: 'stream_id'}, {data: 'course_id'}, {data: 'subject_id'}, {data: 'chapter_name'}, {data: 'status'}, {data: 'edit_delete',orderable: false}, ], });
});
И в web.php
Route :: any ('ajax / chapter / list', 'YourController @Method ');
этот код работал у меня.
спаси мой день
Самый полезный комментарий
404 Not Found - это периодически возникающая проблема таблиц данных из-за проблем со средой при использовании
php artisan serve
. Пожалуйста, используйте valet, homestead или wamp / xampp, чтобы избежать этой проблемы.