使用js helper将数据发送到控制器

时间:2010-11-02 12:24:52

标签: javascript ajax cakephp cakephp-1.3

我正在尝试使用Js帮助程序将一些数据发送到我的控制器,如下所示:

视图:

<?php   
$this->Js->get('#FieldId')->event( //fieldId is a selectbox
    'change',
    $js->request(
        array(
            'controller'=>'users',
            'action'=>'check'
        ),
        array(
            'update'=>'#result',
            'data'=>'what should I put in here?'
        )
    )
);
?>

我应该在数据中添加什么来发送#fieldId所选项目的值,以及如何在控制器中使用这些数据。 CakePHP文档“book”并没有真正解释,我也不是专家......

2 个答案:

答案 0 :(得分:2)

我发现应该以这种方式传递其他变量:

'data' => 'variableName=value'

所以在控制器中有:

$this->params['form']['variableName']

还可以在'data'中评估一些javascript值,但您必须在之前的选项数组中将'dataExpression'设置为true。

答案 1 :(得分:0)

我认为这会对您有所帮助。

<?php 

   $this->Js->get('#FieldId')->event('change', $this->Js->request(array(
           'controller' => 'users',
           'action' => 'check/DataName(view name)'
               ), array(
           'update' => '#result',
           'async' => true,
           'method' => 'post',
           'dataExpression' => true,
           'data' => $this->Js->serializeForm(array(
               'isForm' => true,
               'inline' => true,
           )),
       )) );
   ?>