简体   繁体   English

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

[英]Correctly Passing data from Controller to View CodeIgniter

This question may be asked numerous times but I am facing difficulty in doing so. 这个问题可能被问过无数次,但是我在这样做时面临着困难。 var_dump($lex_post_data); 后续代码var_dump($ lex_post_data); works fine on controller 在控制器上工作正常

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);

View Code: 查看代码:

<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: Is this the correct way of accessing the values sent from controller. Ques1:这是访问控制器发送的值的正确方法吗? Ques2: On console.log(GlobalVariables); Ques2:在console.log(GlobalVariables)上; I am getting 我正进入(状态

lexpostData : null 

What I am doing wrong. 我做错了。

Please guide 请指导

EDIT 编辑

SOLVED & CLOSED : I was trying to get differnt name varriable on view. 已解决和关闭 :我试图在视图上使用不同的名称。 Had to use 不得不使用

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

instead of 代替

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

In controller you are passing $lex_post_data in post_data 在控制器中,您要在post_data中传递$lex_post_data post_data

'post_data'         => $lex_post_data

So in view instead of 因此,鉴于

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

Use 采用

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM