11

我有一个控制器,我想将它用于 ajax 脚本来调用和设置会话变量、获取信息等。如何设置它以使特定控制器不使用默认布局(特别是 NO 布局),以便它可以来回发送 XML/JSON 消息?

4

3 回答 3

17

就像与 Zend_Framework 和 Zend_Application 相关的任何事情一样,有多种方法可以做到这一点,但是在我完成的最后几个纯 Zend 演出中,我看到人们使用以下内容(来自控制器中的操作方法)

$this->_helper->layout()->disableLayout();

这会关闭布局。如果你也想关闭你的视图,你可以使用

$this->_helper->viewRenderer->setNoRender(true);

再次,来自控制器中的操作方法。

于 2010-07-29T23:00:44.697 回答
7

在您的控制器中...

public function init() {
    if ($this->getRequest()->isXmlHttpRequest()) {
        // no Layout 
        $this->_helper->layout()->disableLayout();
        // no views
        $this->_helper->viewRenderer->setNoRender(true);
    }
}
于 2012-09-04T13:55:27.793 回答
2

在您的控制器操作中,尝试

$this->_helper->layout->disableLayout();
于 2010-07-29T22:58:42.967 回答