添加不适用于ajax源数据的行

时间:2016-04-29 08:09:02

标签: json ajax datatables

下面的代码不是在datatable中添加新行。它返回警告(“请求的未知参数”标题“...”并添加一个空行,表示数据为空。

以下是代码:

$.ajax({
    url: "/teams/ops/pidb/_api/web/lists/getbytitle('mytest')/items?$filter=(Modified gt '"+datestring+"')",
        type: "GET",
        dataType: 'json',
        headers: { "Accept": "application/json; odata=verbose" },
        success: mySuccessHandler1,
    error: myErrorHandler1
});

function mySuccessHandler1(data) {
    if(data.d.results.length > 0) {
        $.each(data.d.results,function(index,item){
            tablex.row.add([{"Title":item.Title,"LastName":item.LastName,"Area":item.Area}]).draw(false);

        });
    }

Debuggger显示data.d.result显示item.Title和其他人返回的正确值。

DataTable初始化如下

function mySuccessHandler(data) {
            tablex = $('#patrol').DataTable({
            "aaData": data.d.results,
            "aoColumns": [{
                "mData": "Title"
            },{
                "mData": "LastName"
            }, {
                "mData": "Area"
            }],
            "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
            "select": true,
            "colReorder": true,
            "order": [[1, 'asc']]
            }); // DataTable() closing..

只是在这里添加我能够使用tablex.row.add()方法插入静态数据,如果上面的DataTable在mySuccessHandler()中初始化如下

tablex = $('#patrol').DataTable();

然而,如果我使用mData

初始化它,同样的方法无法读取data.d.results

1 个答案:

答案 0 :(得分:0)

请改用以下代码:

tablex.row.add({"Title":item.Title,"LastName":item.LastName,"Area":item.Area}).draw(false);