Codeigniter查询结果显示

时间:2017-06-13 09:12:42

标签: ajax codeigniter display

我的观点

 <?php echo $calendar; ?>
 <div id="event_area"></div>
 <script type="text/javascript">
 $(document).ready(function(){      

    $('.calendar .day').click(function(){

      var day_data= $(this).find('.content').html();

      if($(this).find('.content').html()!=null){

        $.ajax({
            url: "<?php echo base_url('calendar/pass_name')?>/",
            method:"POST",
            data:{'day_data':day_data},
            success:function(data){


                 $('#event_area').html(data);


            }


        })

我的控制器:

function pass_name(){

    $name=$this->input->post('day_data');

    $result=$this->load->model('calendar_model')->get_description($name);
    $data['calendar'] = $result;

    echo json_encode($data);

}

我的模特:

function get_description($name){
    $query = $this->db
  ->select('description')
  ->from('calendar')
  ->where('name',$name)
  ->get();

   return $query->result();

}

这是我在视图中得到的结果的一个例子。 {&#34; calendar&#34;:[{&#34;说明&#34;:&#34;测试说明\ r \ nwww.google.com&lt; / a&gt;&#34;}}} 如何使其更好,例如显示&#34;测试描述..&#34;没有人物?

提前致谢。

2 个答案:

答案 0 :(得分:1)

在你的ajax成功函数中替换代码如下

success:function(data){
    var obj = $.parseJSON(data);
    var content = '';
    $.each(obj.calendar, function(i,v){
        content+= '<p>'+v.description+'</p>'; //--> here you can add any tag, class
    });
    $("#event_area").html(content);
}

希望此代码可以解决您的问题。如果您需要进一步澄清, 我很乐意帮助你。

答案 1 :(得分:0)

您必须在ajax代码中添加dataType:'json'

$.ajax({
        url: "<?php echo base_url('calendar/pass_name')?>/",
        method:"POST",
        dataType:'json',
        data:{'day_data':day_data},
        success: function(data){
             $('#event_area').html(data);
        }
});