我正在使用$this->Js->submit将值异步传递给我的控制器,然后更新div(id = #upcoming)。不知何故,我无法保存/检索传递给我的控制器的字段"test"的值。Firebug 告诉我传递了正确的值。我做错了什么?
查看文件(播放列表.ctp):
echo $this->Form->create('Add', array('url' => array('controller' => 'Gods', 'action' => 'add')));
echo $this->Form->input('test');
echo $this->Js->submit('Addddd', array(
'url' => array(
'controller' => 'Gods',
'action' => 'add'
),
'update' => '#upcoming'
));
echo $this->Form->end();
echo $this->Js->writeBuffer(array('inline' => 'true'));
控制器操作:
public function add()
{
$this->autoLayout = false;
$this->layout = 'ajax';
$link = $this->request->data['Add']['test'];
$this->set('test',$link);
}
及其视图文件(add.ctp):
<?php
echo $test;
?>
感谢您的帮助!
您是否在控制器方法中尝试过 pr($link)?或者,如果您愿意,只需将其发送到日志文件。这样您就可以查看是否收到数据。
如果是这样,我认为没有任何回报,因为
$this->autoLayout = false;
试试没有这个。它仍将调用 ajax 布局而不是默认布局。否则,您必须手动调用渲染函数
$this->render('add');
编辑如下面的评论中所述,请确保您的观点位于正确的位置。(这将是与控制器关联的视图文件夹)