0

我想通过 ajax 调用将我的数据表的内容发布到服务器。

FWIW,这是桌子的样子......即,

在此处输入图像描述

为了收集要提交的数据表“数据”,我使用了以下功能:

.rows().data()

实际的语句如下所示:

var page0griddata = JSON.stringify(page0grid.rows().data());

page0griddata 的内容看起来像这样(我已将其截断,因为“元数据”部分太长)......即,

{"0":{"id":0,"fieldAStrg":"XXX0","fieldBStrg":"YYY0"},"1":{"id":1,"fieldAStrg":"XXX1","fieldBStrg":"YYY1"},"context":[{"oFeatures":{"bAutoWidth":true,"bDeferRender":false,"bFilter":false,"bInfo":false,"bLengthChange":false,"bPaginate":false,"bProcessing":false,"bServerSide":false,"bSort":false,"bSortMulti":true,"bSortClasses":true,"bStateSave":null},"oScroll":{"bCollapse":true,"iBarWidth":17,"sX":"","sXInner":"","sY":600},"oLanguage":{"fnInfoCallback":null,"oAria":{"sSortAscending":": activate to sort column ascending","sSortDescending":": activate to sort column descending","_hungarianMap":{"sortAscending":"sSortAscending","sortDescending":"sSortDescending"}},"oPaginate":{"sFirst":"First","sLast":"Last","sNext":"Next","sPrevious":"Previous","_hungarianMap":{"first":"sFirst","last":"sLast","next":"sNext","previous":"sPrevious"}},"sEmptyTable":"No data available in table","sInfo":"Showing _START_ to _END_ of _TOTAL_ entries","sInfoEmpty":...(REST IS TRUNCATED)...

下面的部分(我正在处理的实际数据)......是我真正需要的......即,

{"0":{"id":0,"fieldAStrg":"XXX0","fieldBStrg":"YYY0"},"1":{"id":1,"fieldAStrg":"XXX1","fieldBStrg":"YYY1"},

是否有只会返回此数据的 DataTables api 方法?(上述)?

仅供参考 - 如果数据表定义有问题,下面是表定义......即,

var page0grid = jq('#page0grid').DataTable({
    "ajax": $contextPath + "/page0/testGridList",
    "columns": [
        {"title": "ID",      "data": "id",          "visible": false    },          
        {"title": "Field A", "data": "fieldAStrg"                       },
        {"title": "Field B", "data": "fieldBStrg"                       }
    ],
    "columnDefs": [{
            "targets": 3,
            "data": null,
            "defaultContent": "<button class='edit'>Edit</button>"
        }],
    "info": false,
    "searching": false,
    "bPaginate": false,
    "scrollY": 600,
    "bLengthChange": false,
    "bScrollCollapse": true,
    "autoWidth": true,
    "order": [[ 0, 'desc' ]],
    "bSort": false
});

谢谢你的帮助!

  • 如果我的问题[仍然]不清楚,请发表评论:-)
4

1 回答 1

1

显然,我的问题的答案是使用名为“toArray()”的 Datatables API 函数......

例如,

var page0griddata = JSON.stringify(page0grid.rows().data().toArray());

(特别感谢 Allen - 来自 dataTables.net/forums!)

于 2015-04-01T17:54:30.927 回答