现在我设法从数据库中获取值,我想指定更多我想要传递的内容。
从对下面的事件函数作出反应的选择框中,我想读出一个值(记录的 uid)并将其传递给我的 ajaxAction:
var uid;
$('#mySelectBox').change(function() {
arguments = $(this).attr('value');
var uri = '<f:uri.action arguments="{uid: '+uid+'}" action="ajax" controller="Mycontroller1" pageType="89657201" />';
jQuery.getJSON(uri, function(result) {
// do something
});
});
我用参数尝试过,不知道这是否是正确的方法。此外,正如 Marcus Biesioroff 建议的那样,我应该将我的 JS 保存到一个单独的文件中,但是我必须自己编写 uri 而不是 Fluid 方式,对吧?
我的 ajaxAction 看起来像这样:
public function ajaxAction($uid) {
$dataFromRepo = $this->myRepository->findByUid($uid);
$resultArray = array(
"field1" => $dataFromRepo->getField1(),
"field2" => $dataFromRepo->getField2(),
"field3" => $dataFromRepo->getField3(),
"field4" => $dataFromRepo->getField4(),
);
return json_encode($resultArray);
}
我确定uid没有正确传递,其他一切正常。