私はlaravel5.8を使用していますが、検索を行っていた2日間と、データテーブルでデータを取得して表示する方法がありますが、結果はありません
//これは私のコントローラーファイルの一部のコードです
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Datatables;
use Auth;
use App\User;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
$user =Datatables::of(User::query())->make(true);
return view('manage_users.index', ['users' => $user]);
}
/**
およびhtmlページとスクリプトのコード
<script src="//code.jquery.com/jquery-1.12.3.js"></script>
<script src="//cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script
src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>
<link rel="stylesheet"
href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet"
href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css">
<link href="styles/vendor/AdminLTE/css/datatables/dataTables.bootstrap.css" rel="stylesheet" type="text/css" />
<link href="bower_components/datatables-responsive/css/dataTables.responsive.css" rel="stylesheet" type="text/css" />
<table id="table" class="table table-bordered table-striped dataTable">
<thead>
<tr>
<th class="th-sm">ID</th>
<th class="th-sm">Name</th>
<th class="th-sm">Email</th>
<th class="th-sm">Type user</th>
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
<tr>
<th>Id
</th>
<th>Name
</th>
<th>Email
</th>
<th>Type user
</th>
</tr>
</tfoot>
</table>
<script>
$(document).ready(function() {
$('#table').DataTable( {
"processing": true,
"serverSide": true,
"ajax": "../server_side/scripts/server_processing.php"
} );
} );
</script>
次のようなajaxエラーで空のテーブルが表示されます:DataTables警告:table id = table-Ajaxエラー。このエラーの詳細については、http://datatables.net/tn/7を参照してください。
あなたはいくつかの間違ったことをしています。
これに従ってください。
コントローラー上
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Datatables;
use Auth;
use App\User;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
$user =User::get();
return view('manage_users.index', compact('user'));
}
public function returnAjaxData()
{
$users =User::get();
return Datatables::of($users)->make(true);
}
/**
次に、以下に示すように、データテーブルjqueryの列についても言及します。
<script>
$(document).ready(function() {
$('#table').DataTable( {
"processing": true,
"serverSide": true,
"ajax": "url/route/to/returnAjaxData",
"columns":[
{ "data": "id" },
{ "data": "name" },
{ "data": "email" },
{ "data": "type_user" },
} );
} );
</script>
列データはデータベースからのフィールドであることを忘れないでください。
また、「url / route / to / returnAjaxData」の上にあるAjaxURLを変更することを忘れないでください
以下の例で前述したようにルートを作成します。
Route::get('user', array('as' => 'get.user', 'uses' => 'UserController@returnAjaxData'));
ajaxのURLを「ajax」に置き換えます:「/ user」、
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加