【问题标题】:Correctly Passing data from Controller to View CodeIgniter正确地将数据从 Controller 传递到 View CodeIgniter
【发布时间】:2015-08-19 12:12:19
【问题描述】:

这个问题可能被问了很多次,但我在这样做时遇到了困难。 var_dump($lex_post_data);在控制器上工作正常

我的控制器代码

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>

问题1:这是访问从控制器发送的值的正确方法吗? 问题2:在console.log(GlobalVariables)上;我得到了

lexpostData : null 

我做错了什么。

请指导

编辑

已解决并已关闭:我试图在视图中显示不同的名称变量。不得不使用

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

而不是

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

【问题讨论】:

    标签: php codeigniter php-5.5


    【解决方案1】:

    在控制器中,您将 $lex_post_data 传递给 post_data

    'post_data'         => $lex_post_data
    

    所以在视图中而不是

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

    使用

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

    【讨论】:

    • 感谢您的帮助。有效。将在 15 分钟内接受您的答复。现在无法选择作为答案
    • 不客气@SiddharthSrivastva !!享受你的一天!
    猜你喜欢
    • 1970-01-01
    • 2019-06-15
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    相关资源
    最近更新 更多