Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter数据表ajax url可以';找不到。路由问题?_Php_Codeigniter_Datatables - Fatal编程技术网

Php CodeIgniter数据表ajax url可以';找不到。路由问题?

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

我找不到如何在视图中设置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)
两个控制器包含相同的功能:

         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不这样做。