将数组发送到 AJAX 并将传递的数据访问到 Codeigniter 中的控制器

Sending Array to AJAX and Accessing Passed Data to Controller in Codeigniter

我正在尝试获取 table 数据并将其存储在数组中并将其传递到控制器中,以便我可以写入 PHP excel。我试过使用其他数据并且有效。现在,当我尝试使用它时,我的 excel 文件是空的。

这是我的 Javascript 代码

    var TableData = new Array();
    $('#tblmonthlydues tr').each(function(row, tr){
        TableData[row] = {
            "amortid" : $(tr).find('td:eq(0)').text()
            , "duedate" :$(tr).find('td:eq(1)').text()
            , "customername" : $(tr).find('td:eq(2)').text()
            , "lotdesc" : $(tr).find('td:eq(3)').text()
            , "daysdue" : $(tr).find('td:eq(4)').text()
            , "amountdue" : $(tr).find('td:eq(5)').text()
            , "amortdue" : $(tr).find('td:eq(6)').text()
            , "surcharge" : $(tr).find('td:eq(7)').text()
            , "vat" : $(tr).find('td:eq(8)').text()
            , "ips" : $(tr).find('td:eq(9)').text()
            , "interest" : $(tr).find('td:eq(10)').text()
            , "principal" : $(tr).find('td:eq(11)').text()
            , "payments" : $(tr).find('td:eq(12)').text()
        }
    });
    TableData.shift();
    var data = JSON.stringify(TableData);
    data = data.substring(0, data.length - 1).substring(1, data.length);
    console.log(data);

    $.ajax({
        type: "POST",
        url:  baseurl + "collection/get_monthly_dues_report",
        data: {'data':data},
        success: function(data){
            window.location.href = baseurl + "collection/get_monthly_dues_report";
        },
        error: function(data){

        },
    });

这是我的控制器

$data = $this->input->post('data');
$data = json_decode($data);
foreach($data as $r) {
  $this->excel->getActiveSheet()->fromArray(array(
    $r['duedate'], $r['customername'], $r['lotdesc'], $r['daysdue'],
    $r['amountdue'], $r['amortdue'], $r['surcharge'], $r['vat'], $r['ips'],
    $r['interest'], $r['principal'], $r['payments']), null, 'A' . $row
  );
  $this->excel->getActiveSheet()
              ->getStyle('A' . $row . ':L' . $row)
              ->applyFromArray($styleArray2);
  $this->excel->getActiveSheet()
              ->getStyle('A' . $row . ':L' . $row)
              ->applyFromArray($styleArray4);
  $row ++;
}

您忘记将 JSON 数据转换为关联数组使用

json_decode($data,true);