我試圖在我的視圖中打印json_encode。但它始終顯示爲json對象。我想在HTML格式的輸出中打印下面的對象。我只是實現了一個像分頁結果更多按鈕一樣的Twitter。有人能幫我嗎。打印Codeigniter中的json_encode對象從控制器返回的視圖
這裏是我的控制器:
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'); ?>
當我點擊更多的鏈接,結果被加載不錯,但我想要顯示結果在一個很好的格式化輸出,而不是json對象,如下所示
[
{" id":"11"," group_fk":"1"," email":"[email protected]"," username":"test1"},
{" id":"12"," group_fk":"1"," email":"[email protected]"," username":"test2"},
{" id":"13"," group_fk":"1"," email":"[email protected]"," username":"test3",},
]
'PHP數組/變量轉移到'JavaScript數組/ variable'時json_encode'效果最好。由於您對'json_encode'結果使用'echo',因此它將在頁面上輸出。所以,也許你應該將其回顯成一個javascript數組,並用它來輸出對象? –
這裏是你的代碼:'echo json_encode($ this-> data ['latest_messages']);',這就是它顯示的原因。您需要將它分配給一個js變量。如:'echo''而不是使用'oVal.id','oVal.group_fk','oVal.email'和'oVal.username'在需要的地方通過javascript輸出。 –
那麼我需要刪除'json_encode'的echo嗎? – vkrams