CakePHP-使用JsHelper进行Ajax搜索

时间:2014-01-28 23:09:36

标签: javascript php jquery ajax cakephp

好的,我正在尝试使用蛋糕的Js Helper实现一种livesearch。用户将在输入文本字段中选择要搜索的条件,使用下拉列表,然后搜索tyoe。到目前为止,这就是我所拥有的。

   echo $this->Form->create(false,array('type'=>'post','default'=>false));
        echo $this->Form->input('criteria',array(
                'label'=>'Search Criteria',
                'options' => array(
                    'id'=> 'By ID',
                    'name' => 'By Name',
                    'blood' => 'By Blood Type',
                    'type' => 'By Donor Type',
                    'age' => 'By Age',
                    'gender' => 'By Gender' 
                )
            ));
         ?>

这是输入:

 <?php  echo $this->Form->input('query', array('type' => 'text', 'id' => 'query', 'name' => 'query', 'label' => false, 'placeholder' => 'Search')); ?>
    <div id="loading" style="display: none; ">
        <?php echo $this->Html->image('ajax_clock.gif');?>
    </div>

这是我使用助手生成的Js代码!

<script type="text/javascript">

   <?php   
      echo $this->Js->get('#query')->event('keyup',$this->Js->request(  
            array('controller' => 'donors', 'action' => 'search'),  
            array('update'=>'#results','async' => true,'dataExpression' => true,'method' => 'post','data'=>'$(\'#query,#criteria\').serializeArray()')  
            ),false);  
    ?>
    </script>

上面的Js应该在keyup事件中获取标准下拉值以及输入字段内的值。也就是说,我认为对数据进行编码更好,并在doc中找到了serializeArray方法,这应该就是这样(我想......)

现在,我的问题是我不知道如何从接收请求的操作中检索该序列化数据。到目前为止我有这个

function search() {
        if($this->request->is('post')){
            $data = $this->request->input('json_decode');
    }
}

基本上,我想知道如何从搜索操作中访问数据,以及我试图回显$ data变量,并且死($ data),但我不知道调试信息在哪里显示。任何有关我的问题的帮助将非常感谢!谢谢!

0 个答案:

没有答案