bootstrapTable分页如果会用的话,其实非常简单易用,且方便,但如果很多细节不处理好,会遇到很多问题,今天东升博客来介绍一下bootstrapTable分页问题。
//先销毁表格
$('#able-today-salesList').bootstrapTable('destroy');
$("#table-today-salesList").bootstrapTable({
method: 'post',
dataType: "json",
dataField: 'rows',
url:'{$uri}Home/POSRetail/getSalesDatas',
undefinedText: "null",//当数据为 undefined 时显示的字符
striped : true, //是否显示行间隔色
pageNumber : 1, //初始化加载第一页
pagination : true,//是否分页
sidePagination: "server", //服务端处理分页
pageSize : 10,//单页记录数
pageList : [ 10, 20, 30],//可选择单页记录数
paginationPreText: '上一页',
paginationNextText: '下一页',
data_local: "zh-US",//表格汉化
showRefresh : true,//刷新按钮
queryParamsType : "limit",
queryParams : function(params) { //上传服务器的参数
var temp = {
offset : params.offset, // SQL语句起始索引
pageNumber : params.limit, // 每页显示数量
warehouseId : warehouseId, //自定义参数
status : "-1",
};
return temp;
},
columns : [ {
title : '序号',
field : '',
sortable : true
},{
title : '单号',
field : 'ref',
sortable : true
}, {
title : '销售数量',
field : 'salenum',
sortable : true
}, {
title : '销售金额',
field : 'salemoney',
sortable : true
},{
title : '业务员',
field : 'salesname',
sortable : true
},{
title : '顾客',
field : 'user_name',
sortable : true
},{
title : '操作员',
field : 'optname',
sortable : true
},{
title : '店铺',
field : 'warehouse_name',
sortable : true
},{
title : '日期',
field : 'date_created',
sortable : true
},{
title : '操作',
field : '',
sortable : true
}]
});
sidePagination: “server”, //这块设置意思是 由服务端处理分页
queryParams : function(params) { ……….. //这块设置是传递参数至服务端
今天要说的问题就是bootstrapTable传递参数至服务端的问题,我上面的配置传递方式是POST,我的服务端是PHP,然鹅一开始我的服务端使用 $_POST 一直接受不到参数,纠结了好几个小时,一直找不到原因;
后来发现bootstrapTable传递的不是平常的POST参数,而是一个json格式的字符串:

既然知道了bootstrapTable传递的是什么格式的参数了,接下来就是找到PHP接受这类参数的方法了;我是用file_get_contents(“php://input”);接受这串json字符串的:
$getParams=file_get_contents("php://input");
$getParams=json_decode($getParams,true);