我正在使用CodeIgniter和DataTable Server端来显示我的数据从数据库显示。我想将段URL形成我的URL视图,并将该细分市场传递给我的控制器,然后显示到表中的最后一列。但没有工作。
这个我的视图url
http://localhost/sosboard/admin/module/55
这是我的控制器
function data_module()
{
// Datatables Variables
$submenu_id = $this->uri->segment(3);
$draw = intval($this->input->get("draw"));
$start = intval($this->input->get("start"));
$length = intval($this->input->get("length"));
$module= $this->m_admin->main_menu();
$data = array();
//$page = $data['write'];
foreach ($module->result() as $rows) {
$data[] = array(
$rows->title,
$rows->seq,
$rows->target,
$rows->icon_code,
$rows->active,
$submenu_id
);
}
$output = array(
"draw" => $draw,
"recordsTotal" => $module->num_rows(),
"recordsFiltered" => $module->num_rows(),
"data" => $data
);
echo json_encode($output);
}
这是我的HTML视图&JavaScript
<div class="panel-body">
<table class='table' id="myTable">
<thead>
<tr>
<th>Main Menu</th>
<th>Seq</th>
<th>Target</th>
<th>Icon Code</th>
<th>Active</th>
<th>Action</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<script>
$(document).ready(function() {
$('#myTable').DataTable({
"ajax": {
"url": "<?php echo site_url('admin/data_module/') ?>",
"type": "GET"
}
});
});
</script>
所有列都很好,但最后一列未显示。
请帮忙。谢谢
它不起作用,因为当您通过AJAX在页面/admin/data_module/
上实际上是实际时,您正在尝试从URI /admin/module/55
获取细分。因此,URI 3和4不存在您期望的。仅URI段:(1(Sosboard(2(Admin(3(该页面中存在Data_module。
我建议将参数作为get
传递$(document).ready(function() {
$('#myTable').DataTable({
"ajax": {
"url": "<?php echo site_url('admin/data_module/') ?>",
"type": "GET",
'data': { param1: '<?php echo $this->uri->segment(3); // module ?>' }
}
});
});
data_module:
function data_module()
{
// Datatables Variables
$submenu_id = $this->input->get('param1');
如果您需要从URI使用段4中获得55。如果您需要两者都通过,则只需将另一个参数添加到Ajax,并以与我所显示的相同的方式获取。