Php CodeIgniter数据表ajax url可以';找不到。路由问题?
我找不到如何在视图中设置datatables的url。我认为这是一个路由问题,因为datatables可以使用controller Pages.php中的函数,但不能使用controller Djur.php中的函数 我的结构是:Php CodeIgniter数据表ajax url可以';找不到。路由问题?,php,codeigniter,datatables,Php,Codeigniter,Datatables,我找不到如何在视图中设置datatables的url。我认为这是一个路由问题,因为datatables可以使用controller Pages.php中的函数,但不能使用controller Djur.php中的函数 我的结构是: -application --controllers ---Djur.php ---Pages.php --models ---Djur_model --views ---djur ----mina_djur (1) ---pages ----mina_djur (2
-application
--controllers
---Djur.php
---Pages.php
--models
---Djur_model
--views
---djur
----mina_djur (1)
---pages
----mina_djur (2)
两个控制器包含相同的功能:
public function __construct() {
Parent::__construct();
$this->load->model("djur_model");
}
public function djurlista()
{
// Datatables Variables
$draw = intval($this->input->get("draw"));
$start = intval($this->input->get("start"));
$length = intval($this->input->get("length"));
$djur = $this->djur_model->get_djur();
$data = array();
foreach($djur->result() as $r) {
$data[] = array(
$r->ani_se_number,
$r->ani_individual_number,
$r->ani_gender,
$r->ani_date_of_birth,
$r->ani_race,
$r->ani_name,
$r->ani_mother,
$r->ani_father
);
}
$output = array(
"draw" => $draw,
"recordsTotal" => $djur->num_rows(),
"recordsFiltered" => $djur->num_rows(),
"data" => $data
);
echo json_encode($output);
exit();
}
文件夹djur(1)中的视图mina_djur.php的url如下所示:
<script type="text/javascript">
$(document).ready(function() {
$('#mina_djur').DataTable(
{
"ajax": {
url : "<?php echo site_url("djur/djurlista") ?>",
type : 'GET'
},
}
);
});
</script>
$route['djur/(:any)'] = 'djur/view/$1';
$route['djur'] = 'djur/view/mina_djur';
为什么view-views/djur/mina_-djur不能使用controller djur.php中的函数djulista?您应该将最具体的路由放在顶部。因此,交换这两个的顺序:
$route['djur'] = 'djur/view/mina_djur';
$route['djur/(:any)'] = 'djur/view/$1';
像这样:
<script type="text/javascript">
$(document).ready(function() {
$('#mina_djur').DataTable(
{
"ajax": {
url : "<?php echo site_url("djur/djurlista") ?>",
type : 'GET'
},
}
);
});
</script>
$route['djur/(:any)'] = 'djur/view/$1';
$route['djur'] = 'djur/view/mina_djur';
谢谢@SurfMan的回答。不幸的是,它没有解决问题/mina_djur仍然从数据库获取数据,但/djur/mina_djur不这样做。