我是Laravel的新手,我正在制作一个页面admin.blade.php
,它将从数据库中显示用户的数据,并在新用户注册时自动更新,这不是问题所在。我的观点是更新管理页面,这样做我正在使用jQuery,它将从demo.admin.php
获取数据并更新管理页面。
demo.blade.php
<table class="table table-bordered" id="result">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
@foreach($users as $value)
<tr>
<td>{{ $value->id }}</td>
<td>{{ $value->name }}</td>
<td>{{ $value->email }}</td>
</tr>
@endforeach
</tbody>
</table>
admin.blade.php
<script>
$(document).ready(function() {
setInterval(function() {
$('#res').load('demo.blade.php');
}, 100);
});
</script>
DemoController
public function index()
{
$users = DB::table('users')->select('id','name','email')->get();
return view('demo')->with('users', $users);
}
AdminController
public function index()
{
// return view('admin');
$users = DB::table('users')->select('id','name','email')->get();
return view('admin')->with('users', $users);
}
Plz,帮助我。当我打开管理页面时。桌子没有显示。
答案 0 :(得分:0)
正如其他人在评论中指出的那样,您无法指向view
,因为它不是有效的网址。 jQuery的load()
方法需要一个指向资源的有效URL。 http://api.jquery.com/load/
假设您的JS嵌入在Blade文件中,您可以使用{{ action('DemoController@index') }}
。
<script>
$(document).ready(function() {
setInterval(function() {
$('#res').load('{{ action('DemoController@index') }}');
}, 5000);
});
</script>