我正在尝试在 zend framework2 中使用 ajax 返回自定义视图。此视图可能会根据 ajax 调用中的条件动态更改。那么我如何通过 zf2 中的 ajax 返回完整视图?
问问题
65 次
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 回答