jQuery DataTables获取所有表行数据并通过post作为数组发送

时间:2016-12-20 12:07:40

标签: jquery arrays ajax datatables

我想要做的是从表中获取所有数据,并使用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);
       }
     });

   });


 });

1 个答案:

答案 0 :(得分:1)

找到我自己的答案:

data: testData中的

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

你将在PHP中获得的内容类似于$_POST['data'][0][0]['cell value'],第一个零是从头到尾的行,第二个零代表从左到右的单元格。我想我不得不以某种方式解决这个问题。我更新了https://jsfiddle.net/v2quhwb8/4/