![](/img/trans.png)
[英]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.