简体   繁体   English

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

[英]Sending Array to AJAX and Accessing Passed Data to Controller in Codeigniter

I'm trying to get the table data and store it in an array and pass it in the controller so i can write in PHP excel. 我正在尝试获取表数据并将其存储在数组中,并在控制器中传递它,以便可以用PHP excel编写。 I've tried using other data and it worked. 我试过使用其他数据,并且有效。 Now when I try to use this my excel file is empty. 现在,当我尝试使用此文件时,我的excel文件为空。

Here is my Javascript code 这是我的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){

        },
    });

Here is My Controller 这是我的控制器

$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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM