Ich bin neu in Laravel. Ich konnte datatable mit dem jquery-Plugin ausführen.
Ich möchte die serverseitige Verarbeitung. Ich bin neulich auf Fehler 404 gestoßen. Heute bin ich begegnet
500 Interner Serverfehler. Aufruf der undefinierten Methode Yajra \ Datatables \ Datatables:
Vielen Dank, dass Sie sich das angesehen haben.
Hier ist Route ..
index.blade.php
Dienstleister
alias
dann Beitritt
öffentlicher Funktionsindex (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'));
}
}
Ich habe den Namespace geändert, um Yajra \ Datatables \ Facades \ Datatables zu verwenden.
In den Tabellen werden jetzt die Fehler angezeigt.
Der Fehler ist Fehler 200
Überprüfen Sie die Ajax-Antwort, um eine bessere Übersicht über den Fehler zu erhalten. Möglicherweise müssen Sie auch überprüfen, ob Ihre Spalten und Ihre js mit Ihrer Tabellenstruktur übereinstimmen. Dies ist wahrscheinlich ein Problem.
Danke für die Antwort. Ja, ich habe die Ajax-Antwort überprüft. JSON-Flusen sehen gut aus. Der Fehler 200 ist verschwunden. Ich habe die Spalten und js überprüft und sie mit der Tabellenstruktur abgeglichen. Bisher ist Fehler jetzt
Wird noch einmal überprüfen
404 Nicht gefunden ist ein zeitweise auftretendes Problem von dataTables aufgrund eines Umgebungsproblems bei Verwendung von php artisan serve
. Bitte verwenden Sie Valet, Homestead oder Wamp / Xampp, um dieses Problem zu vermeiden.
@yajra . Ja. Ich benutze derzeit xampp. Die Suche wird fortgesetzt
Die Routendefinition wurde überprüft. Intermittierend 404, aber Ajax gibt Daten zurück. Ich denke, ich muss mich auf Umweltfragen einigen.
Bereitgestellt die App live in Heroku. 404 ist weg. Dies ist also ein bestätigtes Umweltproblem. Schließen Sie dies. @yajra Vielen Dank, dass Sie sich den Fehler angesehen haben. Ihre Dokumentation hat mir auch beim Linken Verbinden und Anzeigen und Bearbeiten geholfen. Vielen Dank.
Die oben angegebene Lösung funktioniert einfach, indem Sie Ihr Projekt auf die HTDOCS Ihres XAMPPor www Ihres WAMPP übertragen oder live ausführen
@ marker17 mache einfach dein Javascript und web.php wie folgt
$(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},
],
});
});
Und in web.php
Route :: any ('Ajax / Kapitel / Liste', 'YourController @Method ');
Dieser Code hat bei mir funktioniert.
@ marker17 mache einfach dein Javascript und web.php wie folgt
$(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}, ], });
});
Und in web.php
Route :: any ('Ajax / Kapitel / Liste', 'YourController @Method ');
Dieser Code hat bei mir funktioniert.
rette meinen Tag
Hilfreichster Kommentar
404 Nicht gefunden ist ein zeitweise auftretendes Problem von dataTables aufgrund eines Umgebungsproblems bei Verwendung von
php artisan serve
. Bitte verwenden Sie Valet, Homestead oder Wamp / Xampp, um dieses Problem zu vermeiden.