【发布时间】:2020-01-17 13:16:55
【问题描述】:
我不知道如何在视图中设置数据表的 url。我认为这是一个路由问题,因为数据表可以使用控制器 Pages.php 中的函数,但不能使用控制器 Djur.php。
我的结构是:
-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>
加载页面 localhost/djur/mina_djur 时,除了数据表无法加载数据(Ajax 错误消息)外,所有内容均显示正确。浏览器中的开发者工具显示 XHR 的 500 错误。
然而,
当加载页面localhost/mina_djur(视图位于文件夹页面(2))数据表可以获取数据。在此文件中,url 指定为:
<script type="text/javascript">
$(document).ready(function() {
$('#mina_djur').DataTable(
{
"ajax": {
url : "<?php echo site_url("pages/djurlista") ?>",
type : 'GET'
},
}
);
});
</script>
如果视图位于文件夹页面而不是文件夹 djur 中,一切正常的事实让我认为,当尝试从 djur/mina_djur 获取控制器 Djur.php 中的函数 djurlista 时,问题一定出在路由上。或者由于视图中的 url 错误。
我的路线是:
$route['djur'] = 'djur/view/mina_djur';
$route['djur/(:any)'] = 'djur/view/$1';
$route['om'] = 'pages/view/om';
$route['mina_djur'] = 'pages/view/mina_djur'; // Required to make the view in folder pages work
$route['default_controller'] = 'pages/view';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
为什么视图views/djur/mina_djur不能使用控制器Djur.php中的djurlista函数?
【问题讨论】:
标签: php codeigniter datatables