在web开发中laravel框架配合bootstrap-table.js使用时。列表数据加使用json格式,采用ajax加载数据,但是不知道如何才可以,搞了半天才搞好。使用方法如下:
1.控制器index列表方法:
public function index(Request $request, User $users)
{
if ($request->ajax()) {
$where = [];
//每页显示多少条数据
$limit = $request->get('pageSize', 10);
//从第几条数据开始,数据库是从0开始计数
$offset = $request->get('offset', 0);
//数据总数
$count = $users->query()->count();
$useres = $users->query()->offset($offset)->limit($limit)->orderBy('id', 'desc')->get()->toArray();
// 拼装参数
foreach ($useres as $key => $vo) {
}
$data = [
'total' => $count,
'rows' => $useres
];
return response()->json($data)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
return view('admin/user/index');
}
2.view模板配置字段属性:
<!--搜索框结束-->
<div class="example-wrap">
<div class="example">
<table id="cusTable">
<thead>
<th class="text-center" data-field="id" >ID</th>
</thead>
</table>
</div>
</div>
<!-- End Example Pagination -->
3.view模板js
<script src="/bootstrap-table/bootstrap-table.min.js"></script>
<script src="/bootstrap-table/bootstrap-table-mobile.min.js"></script>
<script src="/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script type="text/java script">
function initTable() {
//先销毁表格
$('#cusTable').bootstrapTable('destroy');
//初始化表格,动态从服务器加载数据
$("#cusTable").bootstrapTable({
method: "get", //使用get请求到服务器获取数据
url: "index", //获取数据的地址
striped: true, //表格显示条纹
pagination: true, //启动分页
pageSize: 10, //每页显示的记录数
pageNumber: 1, //当前第几页
pageList: [5, 10, 15, 20, 25], //记录数可选列表
sidePagination: "server", //表示服务端请求
paginationFirstText: "首页",
paginationPreText: "上一页",
paginationNextText: "下一页",
paginationLastText: "尾页",
queryParamsType: "undefined",
queryParams: function queryParams(params) { //设置查询参数
var param = {
pageNumber: params.pageNumber,
pageSize: params.pageSize,
};
return param;
}, // columns : [ {
// checkbox : true
// },
onLoadSuccess: function (res) { //加载成功时执行
if (111 == res.code) {
window.location.reload();
}
layer.msg("加载成功", {time: 1000});
},
onLoadError: function () { //加载失败时执行
layer.msg("加载数据失败");
}
});
}
$(document).ready(function () {
//调用函数,初始化表格
initTable();
//当点击查询按钮的时候执行
$("#search").bind("click", initTable);
});
</script>