使用返回的服务器参数显示数据

时间:2017-10-22 04:23:18

标签: datatables

我尝试使用jQuery DataTables。在我使用bootstrap表之前。 在服务器上,我使用spring boot,spring数据进行分页。

<input type="text" oninput="this.value = this.value.replace(/[^0-9-]/g, ''); this.value = this.value.replace(/(\..*)\-/g, '$1');" >
   <table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>memberId</th>
                <th>name</th>
                <th>phone1</th>
                <th>phone2</th>
                <th>email</th>
            </tr>
        </thead>  
    </table>

使用服务器返回的值,我尝试显示数据。实际上,没有显示任何内容

$('#example').DataTable({
            "processing": "true",
            "serverSide": "true",
            "ajax": {
                "url": "/rest/members",
                "data": function (d) {
                    return {
                        search: d.search.value,
                        page: d.start,
                        size: d.length
                    }

                },
                dataFilter: function (data) {
                    var json = jQuery.parseJSON(data);
                    json.recordsTotal = json.totalElements;
                    json.data = json.content;
                    return JSON.stringify(json); // return JSON string
                }

            }
        });

修改

DataTables警告:table id = example - 第0行第0列请求的未知参数“0”。有关此错误的详细信息,请参阅http://datatables.net/tn/4

enter image description here

1 个答案:

答案 0 :(得分:2)

一些问题

  1. 示例JSON无效,您有逗号逗号

  2. ajax数据回调称为dataSrc,而不是dataFilter

  3. 您无需解析data,JSON已经是可接受的dataType

  4. data作为字符串返回,预期数组会引发错误

  5. 工作回调可能看起来是

  6.     dataSrc: function(data) {
           data.recordsTotal = data.totalElements;
           data.data = data.content;
           return data.data
        }
    

    基于上面JSON的演示 - &gt;的 http://jsfiddle.net/sx3py6fg/