【问题标题】:pass array from query to controller, codeigniter将数组从查询传递到控制器,codeigniter
【发布时间】:2016-03-07 14:36:12
【问题描述】:

我有 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.
  }
}

【问题讨论】:

  • 不清楚具体是什么问题。 “不起作用” 是一个毫无意义的问题陈述,并不表明哪个部分不起作用
  • 先试试data: { arr: chkBoxArray },

标签: php jquery ajax codeigniter


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2012-12-12
    • 2017-11-04
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多