[英]how to pass data from controller to jquery (Ajax) in codeigniter
[英]how to pass data on ajax to codeigniter controller
我有一个 select 选项。 我想将选定的选项值从 ajax 传递给我的 controller。 但是,当我试图从我的 controller 回显它时,我得到的值是 null (所以我可以看到这个值)。
这就是我显示 select 选项的方式:
<form class="form-horizontal" action="#">
<select name="categories" onchange="ipilihCat()" id="categories" class="js-example-placeholder-single form-control" style="width: 200px;">
<option value="">pilih category</option>
<?php
foreach ($cats as $cats) {
echo '<option value="' . $cats['category'] . '">' . $cats['category'] . '</option>';
}
?>
</select>
</form>
这是我使用的 ajax 代码:
function ipilihCat(){
var selected = $('#categories').val();
$('#target').DataTable({
"processing": true,
"serverSide": true,
"order": [],
"ajax": {
"data": {
'cats': selected
},
"dataType": 'json',
"url": "<?= base_url('welcome/iselCats'); ?>",
"type": "POST",
"success": function(data) {
console.log(data);
}
},
"columnDefs": [{
"target": [-1],
"orderable": false
}],
});
}
在我的 controller 中,我这样检查:
public function iselCats(){
$cats = $this->input->post('cats');
echo $cats;
}
我认为当我从 ajax 传递数据时有问题。 我这是传递数据的正确命令吗?
"data": {
'cats': selected
},
更改代码中的以下行
$('#target').DataTable({
至
var table = $('#target').DataTable({
并添加以下代码
$('#categories').on("change",function(){
table.ajax.url( "<?= base_url('welcome/iselCats'); ?>?cats="+this.value ).load();
});
这会将猫发送到您的服务器并刷新表,过滤代码的 rest 将在服务器端手动处理
尝试以下更改,已使用过几次。
"url": "<? echo base_url('welcome/iselCats'); ?>",
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.