将数据从Codeigniter控制器传递到带有ajax的div

时间:2013-01-28 11:30:27

标签: html jquery view codeigniter-2

我试图做一个简单的脚本,在其中对控制器进行ajax调用,并将其结果打印在div中。

AJAX

 $('#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;          
  });

CONTROLLER AJAX FUNCTION /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>

2 个答案:

答案 0 :(得分:0)

请检查您的数据变量。您正在阅读'search_data'而不是'data'。 在你的控制器中,ajax函数使用$ this-&gt; input-&gt; post('data')。

答案 1 :(得分:0)

这是你可以做的事情

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