私はlaravelに不慣れです。 jqueryプラグインを使用してdatatableを実行できました。
サーバー側の処理をお願いします。 先日、エラー404が発生しました。 今日私は遭遇しました
500内部サーバーエラー。 未定義のメソッドYajra \ Datatables \ Datatablesの呼び出し:
これを見ていただきありがとうございます。
こちらがルートです。
index.blade.php
サービスプロバイダー
エイリアス
その後、アクセッション
パブリック関数インデックス(リクエスト$リクエスト){
$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リントはよさそうだ。 エラー200は消えました。 列とjsを確認し、テーブル構造と照合しました。 これまでのところエラーは
再確認します
404 Not Foundは、 php artisan serve
を使用する際の環境問題が原因で、dataTablesが断続的に発生する問題です。 この問題を回避するには、valet、homestead、またはwamp / xamppを使用してください。
@yajra 。 はい。 私は現在xamppを使用しています。 検索は続行されます
ルート定義が見直されました。 断続的な404ですが、ajaxはデータを返します。 私は環境問題に同意しなければならないと思います。
アプリをherokuにライブでデプロイしました。 404はなくなりました。 したがって、これは確認された環境問題です。 これを閉じます。 @yajraエラーを
上記のソリューションは、プロジェクトをXAMPPのHTDOCSまたはWAMPPのwwwに転送するか、ライブで実行するだけで機能します。
@ 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で
ルート::任意( '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で
ルート::任意( 'ajax / chapter / list'、 'YourController @Method ');
このコードは私のために働いた。
私の日を救う
最も参考になるコメント
404 Not Foundは、
php artisan serve
を使用する際の環境問題が原因で、dataTablesが断続的に発生する問題です。 この問題を回避するには、valet、homestead、またはwamp / xamppを使用してください。