Zend 的文档对此并不十分清楚。

问题是,默认情况下,Zend 会在每个 Controller 操作结束时自动呈现一个 View 。如果您正在使用布局 - 为什么不呢? - 它也呈现。这对于普通 Web 页面来说很好,但是当您发送 AJAX 响应时,您不想要所有这些。您如何防止 Zend 在逐个操作的基础上自动呈现?

请您参考如下方法:

从将要发送 AJAX 响应的任何操作中调用此代码:

$this->_helper->layout->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(TRUE); 

这将禁用该操作的布局引擎,并关闭该操作的自动 View 渲染。然后,您可以“回显”您希望 AJAX 输出的任何内容,而不必担心正常的 View /布局内容会被发送出去。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!