我很难弄清楚如何从以下代码中获取响应,该代码位于视图中的Controller中:
if ($this->request->isAjax()){
Configure::write ( 'debug', 0 );
$this->autoRender = 0;
$this->layout = 'ajax';
$results = "My Data";
echo json_encode($results);
}
//tried doing this and it doesn't work
$this->set('results',$results);
我只是希望能够在我的View中访问$ results变量中的数据。
答案 0 :(得分:0)
如果这是您的整个方法,那么您的视图中不显示任何内容是合乎逻辑的。由于您已使用以下功能禁用自动渲染功能:
$this->autoRender = 0;
您需要使用以下方式手动渲染视图:
$this->render('view');
其中view
是您要呈现的视图的实际名称。否则,您只会得到一个空白页。
另请注意,您在$results
检查中设置了isAjax()
,但是您将其设置为该检查之外的视图,因此如果&#34,您将收到未定义的变量错误;定期" call(非ajax)是对你的控制器动作。