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