打印控制器返回的Codeigniter视图中的json_encode对象


Print json_encode object in Codeigniter View returned from controller

我正在尝试在视图中打印json_encode。但它总是显示为json对象。我想在html格式的输出中打印下面的对象。我只是为分页结果实现了一个类似twitter的更多按钮。有人能帮我吗?

这是我的控制器:

function get_results($offset)
    {
    $this->load->model('my_model');
    $this->data['latest_messages'] = $this->my_model->searchresult($offset);
    $this->output->set_header('Content-Type: application/json; charset=utf-8');
    echo '<script> var data = ' . json_encode($this->data['latest_messages']). ' </script>';
    }

这是我的观点:

    <script type="text/javascript">
google.load("jquery", "1.10.1");
</script>
<script type="text/javascript">
    $(document).ready(function(){
    var num_messages = <?=$num_messages?>;
    var loaded_messages = 0;
    $("#more_button").click(function(){
    loaded_messages += 10;
    $.get("<?php echo $base_url;?>" + "controller/get_results/" + loaded_messages,            function(data){
                $("#main_content").append(data);
            });
            if(loaded_messages >= num_messages - 10)
            {
                $("#more_button").hide();
            }
        })
    })
</script>
<link rel="stylesheet" href="<?=base_url();?>css/main.css" type="text/css" />
  </head>
  <body>
   <?php $this->load->view('includes/topbar'); ?>
    <?php $this->load->view('includes/menu'); ?>      
    <?php $this->load->view('includes/left'); ?>        
  <div id="contentwrap">
    <div id="content">
        <div id="main_content">
                <?php
                foreach($this->data['latest_messages'] as $message)
                {
                    echo $message->email . ' - ' . '<br />';
                }
                ?>
        </div>
    <div id="more_button">
        More
    </div>
  </div>     
  </div>
    <?php $this->load->view('includes/right'); ?>   
    <?php $this->load->view('includes/foot'); ?> 

当我点击More链接时,结果加载得很好,但我想以一个格式良好的输出显示结果,而不是显示如下所示的json对象

[
{" id":"11"," group_fk":"1"," email":"test1@gmail.com"," username":"test1"},
{" id":"12"," group_fk":"1"," email":"test2@gmail.com"," username":"test2"},
{" id":"13"," group_fk":"1"," email":"test3@gmail.com"," username":"test3",},
]

好的,所以您将获得json格式的结果。您只需要在ajax返回处理程序中操作这些结果,然后将它们附加到div:

$.get("<?php echo $base_url;?>" + "controller/get_results/" + loaded_messages,  
    function(data){
        var data = JSON.parse(data);
        var output = "";
        for (var i = 0; i < data.length; i++) { 
            output += data[i].email + ' - <br />';
        }
        $("#main_content").append(output);
    }
);