将数组从查询传递到控制器,codeigniter

时间:2016-03-07 14:36:12

标签: php jquery ajax codeigniter

我有CodeIgniter问题。如何将数组从视图传递到控制器? 通过单击按钮调用公共函数sms(),我无法从视图向控制器发送数据。

这是我的代码不起作用:

<script>
function send_sms() {
    var chkBoxArray = new Array();
        $(document).ready(function (e) {

        $('#table input[type="checkbox"]:checked').each(function () {
            var getRow = $(this).parents('tr');
            chkBoxArray.push(getRow.find('td:eq(9)').html());
        });

        alert(chkBoxArray);
        reload_table();
    });

    $.ajax({
        url: "<?php echo site_url('person/sms')?>",
        type: "POST",
        data: { 'arr': chkBoxArray },
        dataType: "JSON",
        success: function (data) {
            // if success reload ajax table
            // alert(chkBoxArray);
            // reload_table();
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert('Error adding / update data');
        }
    });
}
</script>

控制器代码:

public function sms() {
  $arr = $this->post('arr');
  foreach($arr as $ar) {
    echo $ar; // prints each element of the array.
  }
}

1 个答案:

答案 0 :(得分:0)

您应该使用:$arr = $this->input->post('arr');来检索帖子值,如果您希望返回的结果是JSON类型,那么在服务器端,您需要调整PHP代码以使用echo json_encode($arrayVariable);返回它,否则只是在AJAX属性中省略dataType:json