Передать данные с контроллера Codeigniter в div с помощью ajax

Я пытаюсь сделать простой скрипт, в котором выполняется ajax-вызов контроллера, а его результат печатается внутри div.

АЯКС

 $('#search-bar-button').click(function(){
       var search_data=$('#search-bar').val();         
       $.ajax({
            url: "<?php echo base_url('search/ajax') ?>",
            type: 'POST',
            data: "data="+search_data,
            dataType: "html",
            success: function(msg) {                    
                $('#result').html(msg);
            }
       });             
       event.preventDefault();             
       //return false;          
  });

ФУНКЦИЯ КОНТРОЛЛЕРА AJAX /application/controller/search.php

 public function ajax()
     {
    //$this->load->library('filtri');

    $data=$this->input->post('search_data');
    echo "<p>result= ".$data."</p>";
     }

ПОСМОТРЕТЬ

   <div class="span7">
 <?php echo form_open('validation/ricerca'); ?>
      <?php echo form_input(array('id'=>'search-bar');?>
     <?php echo form_submit(array('value'=>'Search','id'=>'search-bar-button'));?>
  <?php echo form_close(); ?>
   </div>
  <div class="well" id="result"></div>

person Raffaele Izzia    schedule 28.01.2013    source источник


Ответы (2)


Вот что вы можете сделать

public function ajax()
{
    //$this->load->library('filtri');
    $data   =   $this->input->post('data');
    echo "<p>result= ".$data."</p>";
}
person Muhammad Raheel    schedule 29.01.2013

Пожалуйста, проверьте свою переменную данных. Вы читаете «search_data» вместо «data». В функции ajax вашего контроллера используйте $this->input->post('data').

person kofrasa    schedule 28.01.2013
comment
Я исправил это, но все равно выдает пустой результат. В любом случае должно быть напечатано ‹p›result =‹/p›, но этого не происходит. ‹div class=well id=result›‹/div› по-прежнему пуст - person Raffaele Izzia; 28.01.2013