【问题标题】:jQuery DataTables get all table rows data and send through post as arrayjQuery DataTables 获取所有表行数据并通过 post 作为数组发送
【发布时间】:2016-12-20 12:07:40
【问题描述】:

我想要做的是从表中获取所有数据,并使用 post 方法将其作为带有 ajax 的自动增量多维数组发送。当它到达服务器时应该是这样的:

$_POST  -|-- ['Key1'] = 'value1'   <---This is from an HTML input
         |-- ['Key2'] = 'value2'   <---This is from an HTML input
         |-- ['tabledata']--| -- [0]-| -- ['column1'] = 'value from cell'            
                            |        | -- ['column2'] = 'value from cell'
                            | -- [1]-| -- ['column1'] = 'value from cell'
                                     | -- ['column2'] = 'value from cell'

[0] 和 [1] 只是在创建表示第一行和第二行的新数组对象时生成的自动递增数字。 这是到目前为止我得到的一个 js 小提琴(它返回数组,但不是我需要的方式)https://jsfiddle.net/v2quhwb8/2/ 与 JS:

     $(document).ready(function() {
   var myTable = $('#example').DataTable({
     responsive: true
   });



   var testData = myTable.data().toArray();

   $('#myButton').on('click', function() {

     $.ajax({
       type: 'POST',
       dataType: 'json',
       url: 'page/postTest.php',
       data: testData,
       success: function(response) {
         // console.log('Server response', response);
       }
     });

   });


 });

【问题讨论】:

  • 什么是key1key2,它们的值是什么?
  • Key1 和 Key2 来自我发送数据的其他 2 个输入。
  • 您的['ajax'][0] 必须是列值数组? [0] 是键还是索引?
  • 没有它的 ['ajax'][0]['colum-name']['cellvalue'] ,0 只是表示第一行的数组的索引。
  • 现在默认是 `['ajax'][0]` 是一个只有值的数组。所以你想要一个 `['ajax'][0]` 是一个对象,并且键值结构.. 对吗?

标签: jquery arrays ajax datatables


【解决方案1】:

找到我自己的答案:

$.ajax({... 中的data: testData 更改为 data: {data: testData},它返回我在 PHP $_POST 中需要的多维数组。另外我之前问的是一个关联数组,就像我的后端白痴一样,因为显然它们在 javascript 中不存在,我的坏人。

您将在 PHP 中得到类似 $_POST['data'][0][0]['cell value'] 的内容,第一个零是从第一个到最后的行,第二个零表示从左到右的单元格。我想我必须以某种方式处理这个问题。我更新了https://jsfiddle.net/v2quhwb8/4/

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    相关资源
    最近更新 更多