0

ログイン機能を処理するために MY_Controller を使用しています。問題は、AJAX 要求が発生したときに MY_Controller の拡張を停止する方法がわからないことです。redirect() は非 AJAX リクエストで子クラスを停止するようですが、AJAX リクエストで実行中の子クラスを停止することは可能ですか?

function __construct() {
    parent::__construct();

    if(!$this->input->is_ajax_request()) {

        if(!$this->session->userdata('userid')) {
            //Render public menu in view
            $this->load->view('header_public_view');
            if($this->login_required()) {
                //Possibly change to render authentication view rather than redirect
                $this->session->set_userdata('destination', $this->input->server('REQUEST_URI'));
                redirect('authentication/login');
            }
        }
        else {
            $this->load->model('user_model');
            $data['user'] = $this->user_model->get_user($this->session->userdata('userid'));
            $this->load->view('header_user_view', $data);
        }

    }
    else {

        if(!this->session->userdata('userid') && $this->login_required) {

            //send response telling client to redirect  

        }

    }
}
4

1 に答える 1

0

すべての AJAX 関数を MY_Controller を拡張しない別のコントローラーに入れるだけです

function Ajax_controller extends CI_Controller
{
    //code
}
于 2012-05-27T08:24:25.173 に答える