如何在zend-framework 2中设置自定义视图

时间:2013-07-23 08:16:43

标签: zend-framework zend-framework2

我试图在zend framework2中使用ajax返回自定义视图。这个视图可能会根据ajax调用中的条件动态更改。那么我如何通过zf2中的ajax返回完整视图?

2 个答案:

答案 0 :(得分:3)

您可以通过ajax返回完整视图,方法与通过浏览器位置栏返回完整视图的方式相同。如果您只想返回html,那么只需返回一个视图模型,就像通常那样。您可能想要禁用布局,这可以通过以下方式完成:

$viewModel = new ViewModel();
$viewModel->setTerminal(true);
return $viewModel;

或者,如果要返回JSON,可以使用json视图策略,需要在module.config.php中启用它:

'strategies' => array(
    'ViewJsonStrategy',
), 

然后,在您的操作中,返回一个新的JsonModel而不是ViewModel

答案 1 :(得分:0)

附加ViewJsonStrategy将使这个事件监听器运行,每个请求都检查动作输出中的JsonModel。

直接返回json内容可以更快更有效:

return $this->getResponse()->setContent(json_encode($your_data));

如果需要,您还可以添加标题行Content-type: application/json行。