0

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

4

2 回答 2

3

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

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

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

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

然后,在您的操作中,返回 a newJsonModel而不是 a ViewModel

于 2013-07-23T09:14:55.343 回答
0

附加 ViewJsonStrategy 将使此事件侦听器运行,每个请求检查操作输出中的 JsonModel。

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

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

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

于 2016-03-26T11:56:16.627 回答