我正在尝试使用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”并没有真正解释,我也不是专家......
答案 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,
)),
)) );
?>