Je suis nouveau à laravel. J'ai pu exécuter datatable en utilisant le plugin jquery.
Je voudrais le traitement côté serveur. J'ai rencontré l'erreur 404 l'autre jour. Aujourd'hui j'ai rencontré
500 Erreur de serveur interne. Appel à la méthode non définie Yajra \ Datatables \ Datatables:
Merci d'avoir regardé ceci.
voici l'itinéraire ..
index.blade.php
fournisseur de services
alias
puis adhésion
index de fonction publique (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'));
}
}
J'ai changé l'espace de noms pour utiliser Yajra \ Datatables \ Facades \ Datatables;
Les tableaux affichent maintenant les erreurs reçues.
l'erreur est l'erreur 200
Essayez d'inspecter la réponse ajax pour obtenir une meilleure vue de l'erreur. Vous devrez peut-être également vérifier que vos colonnes et vos js correspondent à la structure de votre table. C'est probablement un problème js.
Merci pour votre réponse. Oui, j'ai vérifié la réponse ajax. La charpie JSON a l'air bien. L'erreur 200 a disparu. J'ai vérifié les colonnes et les js et les ai fait correspondre avec la structure du tableau. Jusqu'à présent, l'erreur est maintenant
Va vérifier
404 Not Found est un problème intermittent de dataTables en raison d'un problème d'environnement lors de l'utilisation de php artisan serve
. Veuillez utiliser valet, homestead ou wamp / xampp pour éviter ce problème.
@yajra . Oui. J'utilise actuellement xampp. La recherche continue
La définition de l'itinéraire a été revue. Intermittent 404 mais ajax renvoie des données. Je pense que je dois être d'accord sur la question de l'environnement.
Déploiement de l'application en direct dans heroku. 404 est parti. C'est donc un problème d'environnement confirmé. Clôture ceci. @yajra Merci d'avoir regardé l'erreur. Votre documentation m'a également aidé avec la jointure gauche et le bouton d'affichage et d'édition, merci.
La solution donnée ci-dessus fonctionne il suffit de transférer votre projet vers le HTDOCS de votre XAMPP ou www de votre WAMPP ou de l'exécuter en direct
@ marker17 créez simplement votre javascript et web.php comme suit
$(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},
],
});
});
Et dans web.php
Route :: any ('ajax / chapitre / liste', 'YourController @Method ');
ce code a fonctionné pour moi.
@ marker17 créez simplement votre javascript et web.php comme suit
$(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}, ], });
});
Et dans web.php
Route :: any ('ajax / chapitre / liste', 'YourController @Method ');
ce code a fonctionné pour moi.
sauve ma journée
Commentaire le plus utile
404 Not Found est un problème intermittent de dataTables en raison d'un problème d'environnement lors de l'utilisation de
php artisan serve
. Veuillez utiliser valet, homestead ou wamp / xampp pour éviter ce problème.