Отправить данные на контроллер с помощью помощника js - PullRequest
0 голосов
/ 02 ноября 2010

Я пытаюсь отправить некоторые данные на мой контроллер с помощью помощника 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 ]

2 голосов
/ 28 декабря 2010

Я обнаружил, что дополнительные переменные должны быть переданы таким образом:

'data' => 'variableName=value'

Итак, в контроллере есть:

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

Существует также возможность оценки некоторых значений javascript в 'data', но вы должны установить для 'dataExpression' значение true в массиве опций.

0 голосов
/ 26 октября 2018

Я думаю, что это поможет вам.

<?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,
           )),
       )) );
   ?>
...