在视图中回显ajax数据

时间:2016-03-16 10:16:59

标签: php jquery ajax codeigniter select

我是ajax的新手,我正在读书。我搜索但我无法得到解决方案。我想从我的数据库中选择所有国家,并希望在表格中回显结果。我得到了结果,但我不知道如何在视野中回应它。有人请帮帮我。提前谢谢。

我的控制器Ajax.php

function index()
{
    $this->load->view('Ajax/Ajax_view');
}
function Get_specific()
{
    $name=$this->input->post('name');
    $data['country']=$this->Ajax_m->select("countries");
    echo json_encode($data);
    $this->load->view('Ajax_view',json_encode($data));
}

我的模型Ajax_m.php

function select($table){
    $query=$this->db->get($table);

    return $query->result();
}

我的视图Ajax_view.php

<html>
<head>
                                                                                          <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">    
   </script>
 <script type="text/javascript">
$(document).ready(function(){
  $('#data').hide();
    $('#sub').click(function(event){

      event.preventDefault();
      var name=$('#name').val();
      $.ajax({
         type: "POST",
         url : "<?php echo base_url(); ?>" + "index.php/Ajax/Get_specific/",
         datatype : 'html',
         data : { name: name },
         success:function(res){
 $('#data').show();
alert('done')
}      
      });  

  });
});

</script>
</head>
<body>
    <?php echo form_open('Ajax/insert'); ?>
    <input type="text" name="name" id="name" value=""><br>
    <input type="submit" name="sub" id="sub"><br>
    <?php echo form_close(); ?>
    <div id="data">
        <table>
            <tr>
                <th>name</th>
                <th>Delete</th>
            </tr>

            <?php 
            if(isset($query)):
            foreach ($query as $row): ?>
            <tr>
                <td></td>
                <td>Delete</td>
            </tr>
            <?php endforeach;
            endif;?>
        </table>
    </div>
</body>

1 个答案:

答案 0 :(得分:1)

$.ajax({
     type: "POST",
     url : "<?php echo base_url(); ?>" + "index.php/Ajax/Get_specific/",
     datatype : 'html',
     data : { name: name },
     success:function(res){
    $('#data').html(res).show();
    alert('done')
}

很难确切地知道你想要什么,但是我所做的一切都是在ajax调用的成功中,在显示之前将res添加到元素中。

编辑:如果您不想丢失元素中已有的内容,则可以始终使用.append()而不是.html()