将数据加载到当前视图中

I realize this can be done with ajax. Just wanted to see if this is possible via codeigniter

I would like an ajax click event to trigger codeigniter to send data to the currently loaded view. In my example, I would like to populate an empty ul with names pulled from a database.

//SETUP

//html. This file is views/index.php. This is an example of what I want to do
<ul>
<?php
foreach ($names as $name)
{
  echo "<li>".$name."</li>";
}
?>
</ul>

//ajax
$(".button").click(function() {
  $.ajax({
    method: 'GET',
    datatype: 'jsonp',
    url: 'localhost/tableseating/tables/load_names'
  });
});
//controller
public function load_names()
{
  $names = $this->My_model->load_names();
  //this is the current view already
  $this->load->view('index', $names);
}

//model
public function load_names()
{
  $q = "SELECT first_name FROM `users`";
  $query = $this->db->query($q);
  $result = $query->result();
  return $result;
}

you change controller


not ajax


//controller
public function load_names()
{
  $data['names'] = $this->My_model->load_names();
  //this is the current view already
  $this->load->view('index', $data);
}

with ajax


//controller
public function load_names()
{
  $names = $this->My_model->load_names();
  //this is the current view already
  $li = '';
  foreach($names as $row)
  {
      $li .= '<li>'.$row->name.'</li>';
  }
  $data['names'] = $li;
  $this->load->view('index', $data);
}


//ajax
$(".button").click(function() {
  $.ajax({
    method: 'GET',
    datatype: 'html',
    url: 'localhost/tableseating/tables/load_names',
    success: function(data)
    {
        $('#data').html(data);
    }
  });
});



// view
<ul id="data">
</ul>