3

我正在尝试做一个简单的脚本,在该脚本中对控制器进行 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;          
  });

控制器 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>
4

2 回答 2

0

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

于 2013-01-28T11:36:24.940 回答
0

这是你可以做的

public function ajax()
{
    //$this->load->library('filtri');
    $data   =   $this->input->post('data');
    echo "<p>result= ".$data."</p>";
}
于 2013-01-29T07:12:59.460 回答