bootstrapTable之PHP服务端分页接收参数问题

By | 2020年5月26日

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);

发表评论

电子邮件地址不会被公开。 必填项已用*标注