【问题标题】:Passing JSON data in codeigniter在 codeigniter 中传递 JSON 数据
【发布时间】:2012-08-27 03:42:44
【问题描述】:

问候我有这个语句,它使用 json_encode 将我的结果数组和回显显示在我的 AJAX 表单上,但是现在我想将数组作为 $data 传递给我的 Templatebuilder 函数,因为我将使用搜索作为更大模板的一部分。这是我得到的错误,用于我的 ajax 搜索。 未定义变量:ajax_search.php 中的结果

这一切都在一个控制器内完成。

if ( $this->input-> is_ajax_request())
    {
        $this->output->set_header("Cache-Control: no-cache, must-revalidate");
        $this->output->set_header("Expires:Mon, 4 Apr 1994 04:44:44 GMT");
        $this->output->set_header("Content-type:application/json");

        echo json_encode($results);

    }

然后我希望通过以下语句将数据发送到我的模板构建器:

 echo $this->Templatebuilder('master', $data);

这是我的模板生成器函数

private function Templatebuilder ($view, $data) {
 $master_data['page1'] = $this->load->view('page1', $data, true);
 $master_data['ajax_search'] = $this->load->view('ajax_search',  $data, true);
 return $this->load->view('master', $master_data, true);

最后是我的 ajax_search 页面

<form method="post" action="<?php echo current_url(); ?>">
    <fieldset>
    <label for = "search"> Seachss Query:</label>
    <input type="text" name="search" id="search"/>
    <input type="submit" value="Search!" />

    </fieldset>

        <fieldset id= "results">
            <?php if (isset($results) AND count($results) ); ?>
            <ul>

                <?php foreach ($results as $result); ?>

                    <li>
                    <span class="Course_Name"> <?php echo $result['course_name_highlighted']; ?> </span> &ndash;
                    <span class="First_Name"> <?php echo $result['FirstName']; ?> </span> 
                    <span class="Last_Name"> <?php echo $result['LastName']; ?> </span> &ndash;
                    <span class="Course_ID"> <?php echo $result['COURSE_ID']; ?> </span> &ndash;
                    <input type="submit" value="Add Course" />


                    </li>



            </ul>


            </fieldset>

</form>

【问题讨论】:

  • 你在哪里传递$results变量?
  • 我尝试过 $data = json_encode($results); 但这没有用
  • 你在哪里将$results变量传递给视图文件,好像我明白是文件引发了这个错误

标签: php json codeigniter


【解决方案1】:

添加exit():

echo json_encode($results);
exit(); // add exit

【讨论】:

  • 实际上可以显示下拉菜单的结果,这是问题的一部分。但是,在我搜索任何内容并给我“未定义变量”错误之前,它仍在尝试返回结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多