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

データ変数を確認してください。'data'ではなく'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 に答える