DataTables获取所选行的单元格的数组数据

Nic*_*iwi 6 javascript jquery datatables

使用select插件,我试图从所选行中获取数据,rows().data()但它所提取的数据远远超过单元数据数组,我想在Ajax POST请求中提交该数据,但我得到了413错误说"请求实体太大".

https://datatables.net/reference/api/rows().数据()

var dataTable = $('#products').DataTable( {
  "processing": true,
  "ajax": "/products",
  "columns": [
    {
      "className": 'select-checkbox',
      "defaultContent": '<span style="display:none;">0</span>',
      "orderDataType": "dom-text",
      type: 'string'
    },
    {
      "data": "sku",
      "className": 'sku-value',
      "defaultContent": ""
    },
    {
      "data": "name",
      "className": 'name-value',
      "defaultContent": ""
    },
    {
      "data": "our_price",
      "className": 'our-price-value price',
      "defaultContent": 0
    },
    {
      "data": "sale_price",
      "className": 'sale-price-value price',
      "defaultContent": 0
    },
    {
      "data": "rrp_price",
      "className": 'rrp-price-value price',
      "defaultContent": 0
    },
    {
      "data": "similar_price",
      "className": 'similar-price-value price',
      "defaultContent": 0
    },
    {
      "data": "stores.one.store",
      "className": 'store-one store',
      "defaultContent": ""
    },
    {
      "data": "stores.two.store",
      "className": 'store-two store',
      "defaultContent": ""
    },
    {
      "data": "stores.three.store",
      "className": 'store-three store',
      "defaultContent": ""
    },
    {
      "data": "end_date",
      "className": 'end-date-value date',
      "defaultContent": ""
    },
    {
      "data": "updated_at",
      "className": 'updated-at-value date',
      "defaultContent": ""
     }
  ],
  "select": {
    "style":    'multi',
    "selector": 'td:first-child'
  },
});

var rowData = dataTable.rows( { selected: true } ).data();
Run Code Online (Sandbox Code Playgroud)

但是从5个单元格中选择了3行并且具有一些非常小的值,Chrome开发工具会冻结尝试加载所有内容,因为不知何故该值还包含表格中的所有2200行.:/

我的代码来自这里:https://datatables.net/extensions/select/examples/api/get.html

在rowData的对象中,有一个数组与一堆其他函数混合在一起,该数组包含了我需要的所有数据,但我无法将其与其他所有数据分开.

rowData中的数据: 在此输入图像描述

我只想要那些前3行,阵列.

传递给:

$.post('/generate', rowData, function() {
    console.log('done');
});
Run Code Online (Sandbox Code Playgroud)

Gyr*_*com 6

API方法rows().data()返回类似于Array的对象,它也是DataTables API实例.

使用toArray()API方法将API实例转换为本机Javascript数组对象.

var rowData = dataTable.rows( { selected: true } ).data().toArray();
Run Code Online (Sandbox Code Playgroud)