正确地将数据从控制器传递到视图CodeIgniter


Correctly Passing data from Controller to View CodeIgniter

这个问题可能被问过很多次,但我觉得很难回答。lex_post_data美元var_dump ();在控制器

上运行良好

My Controller code

try{
                // need for the manage functionality to be initialized.
                $manage_mode        = FALSE;
                $appointment   = array();
                $provider      = array();
                $customer      = array();
                $lex_post_data = $this->input->post('lexname');

            var_dump($lex_post_data);
            // Load the book appointment view.
            $view = array (
                'available_services'    => $available_services,
                'available_providers'   => $available_providers,
                'company_name'          => $company_name,
                'manage_mode'           => $manage_mode,
                'appointment_data'      => $appointment,
                'provider_data'         => $provider,
                'customer_data'         => $customer,
                'post_data'             => $lex_post_data
            );
        } catch(Exception $exc) {
            $view['exceptions'][] = $exc;
        }
        $this->load->view('appointments/book', $view);

视图代码:

<script type="text/javascript">
    var GlobalVariables = {
        availableServices   : <?php echo json_encode($available_services); ?>,
        availableProviders  : <?php echo json_encode($available_providers); ?>,
        baseUrl             : <?php echo '"' . $this->config->item('base_url') . '"'; ?>,
        manageMode          : <?php echo ($manage_mode) ? 'true' : 'false'; ?>,
        appointmentData     : <?php echo json_encode($appointment_data); ?>,
        providerData        : <?php echo json_encode($provider_data); ?>,
        customerData        : <?php echo json_encode($customer_data); ?>,
        lexpostData         : <?php echo json_encode($lex_post_data); ?>,
        csrfToken           : <?php echo json_encode($this->security->get_csrf_hash()); ?>
    };
    console.log(GlobalVariables);
    var EALang = <?php echo json_encode($this->lang->language); ?>;
    var availableLanguages = <?php echo json_encode($this->config->item('available_languages')); ?>;
    $(document).ready(function() {
        FrontendBook.initialize(true, GlobalVariables.manageMode); 
        // GeneralFunctions.centerElementOnPage($('#book-appointment-wizard'));
        GeneralFunctions.enableLanguageSelection($('#select-language'));
    });
</script>

Ques1:这是访问控制器发送的值的正确方法吗?Ques2: On console.log(GlobalVariables);我得到

lexpostData : null 

我做错了什么

请指导

编辑

解决,close :我试图在视图上获得不同的名称变量。不得不使用

lexpostData         : <?php echo json_encode($post_data); ?>,
不是

lexpostData         : <?php echo json_encode($lex_post_data); ?>,

控制器中$lex_post_datapost_data中传递

'post_data'         => $lex_post_data

in view而不是

 <?php echo json_encode($lex_post_data); ?>
使用

<?php echo json_encode($post_data); ?>