代码点火器控制器未加载视图以及错误消息


Codeigniter controller didn't load view as well error message

我只是使用Codeigniter作为框架为我的酒店制作一个简单的房间预订系统。在我的本地主机中,控制器及其方法按预期工作,但是当我将文件上传到我的测试服务器时,我的一个控制器变得无法访问。它既不显示加载的视图页面,也不显示错误。我也尝试过像 www.mydomain.com/testing/index.php/room_booking 和 www.mydomain.com/testing/index.php/room_booking/post_action 这样的 url,但没有显示任何内容,然后我尝试使用 die("我的代码未执行"(,但它也没有打印 die。所以这让我发疯,我度过了一整天。

我的控制器是:

header("Access-Control-Allow-Origin: *");
if (!defined('BASEPATH'))
    exit('No direct script access allowed');
class room_booking extends CI_Controller {
    function __construct() {
        parent::__construct();
        $this->load->library('session');
        $this->load->model('dbmodel');
        $this->load->model('api_model');
        $this->load->model('dashboard_model');
        $this->load->model('booking_room');
        $this->load->helper('url');
        $this->load->helper(array('form', 'url'));
        $this->load->library("pagination");
    }
    public function index() {
        $this->load->view('template/header');
        $this->load->view('template/imageDiv');
        $this->load->view('template/reservation_template');
        //$this->load->view('login/test');
        $this->load->view('template/footer');
    }
    function post_action() {
        $this->load->helper('availableroom');
        die('here i used die function for test'); 
        if ($_POST) {
            $data['abc'] = array(
                'checkin' => $_POST['checkin'],
                'checkout' => $_POST['checkout'],
                'adult' => $_POST['adult'],
                'child' => $_POST['child'],
                'hotelId' => $_POST['hotelId'],
                'title' => $_POST['title']
            );
            $this->session->set_userdata($data['abc']);
            $hotel = $_POST['hotelId']; // form top it got hotel name       
            $hotels = $this->dashboard_model->get_hotel_id($hotel);
            if (!empty($hotels)) {
                foreach ($hotels as $hotelData) {
                    $hotelId = $hotelData->id;
                }
            } else {
                $hotelId = $_POST['hotelId'];
            }
            $data['query'] = $this->dashboard_model->booking_room($hotelId);
            $data['json'] = json_encode($data['query']);
            $this->load->view('ReservationInformation/room_booking', $data);
        } else {
            $this->load->view('ReservationInformation/room_booking_empty_view'); 
        }
    }
}

我在这里做错了吗?在post_action方法中,我从 ajax 调用传递了一个值。如何在服务器中解决它?

你的代码看起来是正确的。我想您可能忘记设置基本网址:

    // application/config/config.php
    $config['base_url'] = 'www.mydomain.com/testing';

这只是一个猜测(由于特权而没有将其作为评论发布(。

控制器类名应该以Uppercase letter开头,所以room_booking应该Room_booking

在此处检查注释:https://ellislab.com/codeigniter/user-guide/general/controllers.html#what