在这里,我想获取记录,并希望通过使用ajax在视图中显示。在这里,我无法获得json数据。如果我得到了,那么传递给视图的正确方法是什么。 通过这个,我想从表中获取用户名和注释,并希望使用ajax在click事件中显示。 我希望像 Facebook 那样做,当用户评论时,评论显示没有页面加载。
控制器:
public function get_comments()
{
$query=$this->db->query("SELECT user_name,comments FROM user_comments join user_reg where user_reg.user_id=user_comments.user_id");
$temp = $query->result();
foreach($temp as $row)
{
header('Content-Type: application/json');
echo json_encode($row);
}
exit();
}
查看:
<form action="" method="post" name="usercomments" id="usercomments">
<div>
<textarea name="comment" form="usrform" placeholder="Enter comment here..." id="ucom"></textarea>
</br>
<div class="tab-group">
<input type="submit" class="button button-block tab" id="submitbutton" value="Comment"/>
</div>
</div>
</form>
$(document).ready(function()
{
$("#submitbutton").click(function(event)
{
//alert('hiii');
event.preventDefault();
jQuery.ajax({
type:"POST",
url:"<?php echo base_url();?>index.php/welcome/get_comments",
dataType:"json",
data:"",
success:function(data)
{
console.log(data);
alert(data);
}
});
});
});
答案 0 :(得分:1)
沿着这些方向尝试一些事情。我们正在将行重建为更易于读取的客户端对象,并在循环之外对其进行编码。您也不需要像这样设置标题。
$query=$this->db->query("SELECT user_name,comments FROM user_comments join user_reg where user_reg.user_id=user_comments.user_id");
$temp = $query->result();
$response = array();
foreach($temp as $row){
$user = $row['user_name'];
$response[$user][] = $row['user_comments'];
}
echo json_encode($response);
答案 1 :(得分:0)
你应该尝试将你的&#34; echo json_encode&#34;在你的循环之外。
使用数组来存储你的行和json_encode这个数组。