我正在使用$ this-> Js->提交以异步方式将值传递给我的控制器而不是更新div(id = #upcoming)。不知怎的,我无法保存/检索传递给我的控制器的字段'test'的值。 Firebug告诉我正确的值被传递。我做错了什么?
查看文件(playlist.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;
?>
感谢您的帮助!
答案 0 :(得分:1)
你在控制器方法中试过pr($ link)吗?或者,如果您愿意,只需将其发送到日志文件即可。这样你就可以看到是否收到了数据。
如果是这样,我认为由于
而没有返回任何内容 $this->autoLayout = false;
没有这个就试试吧。它仍将调用ajax布局而不是默认布局。 否则你必须手动调用渲染函数
$this->render('add');
修改强> 如下面的评论中所述,请确保您的观点位于正确的位置。 (这将是与控制器关联的视图文件夹)