1. 程式人生 > >bootStarp Table 中的queryParams 和解決後端接收不到資料的問題

bootStarp Table 中的queryParams 和解決後端接收不到資料的問題

在使用bootStarp Table 的時候,會存在頁面重新整理的情況,所以就提供了queryParams的函式,在boot Strap Table的api中是這樣介紹的

請求伺服器資料時,你可以通過重寫引數的方式新增一些額外的引數,例如 toolbar 中的引數 如果 queryParamsType = 'limit' ,返回引數必須包含
limit, offset, search, sort, order 否則, 需要包含: 
pageSize, pageNumber, searchText, sortName, sortOrder. 
返回false將會終止請求。

也就是說在使用分頁資料的時候,將分頁的條件新增到該函式中,就會自動帶到後臺。

 /**
             * refresh函式
             * @param options
             */
            btTable.refresh = function (options) {
                var defaultOptions = this.bootstrapTable('getOptions');
                // queryParams 是用於請求資料的時候
                this.bootstrapTable('refreshOptions', {
                    loadData: true,
                    pageNumber: 1,
                    url: options.url || defaultOptions.url,
                    queryParams: function (parameters) {
                        var queryParams = options;

                        if (queryParams) {
                            for (var key in queryParams) {
                                parameters[key] = queryParams[key];
                            }
                        }
                        if (parameters.url) {
                            delete parameters.url;
                        }
                        return parameters;
                    }
                });
            };

refreshOptions : 重新整理選項。

getOptions : 返回表格的 Options。 

以key-value的形式進行資料傳送到後端,在後端的使用

  @RequestMapping(path = "/search/page", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity findTableData(@RequestBody Map<String, Object> params) {

後端以map的形式進行資料的接收即可