如何在zend-framework2中设置自定义视图
我试图在zend framework2中使用ajax返回自定义视图。此视图可以根据ajax调用中的条件动态更改。。那么如何在zf2中通过ajax返回完整视图呢?您可以通过ajax返回完整视图,方法与通过浏览器位置栏返回完整视图相同。如果您只想返回html,那么只需以通常的方式返回视图模型即可。您可能希望禁用布局,可以通过以下方式完成:如何在zend-framework2中设置自定义视图,zend-framework,zend-framework2,Zend Framework,Zend Framework2,我试图在zend framework2中使用ajax返回自定义视图。此视图可以根据ajax调用中的条件动态更改。。那么如何在zf2中通过ajax返回完整视图呢?您可以通过ajax返回完整视图,方法与通过浏览器位置栏返回完整视图相同。如果您只想返回html,那么只需以通常的方式返回视图模型即可。您可能希望禁用布局,可以通过以下方式完成: $viewModel = new ViewModel(); $viewModel->setTerminal(true); return $viewModel
$viewModel = new ViewModel();
$viewModel->setTerminal(true);
return $viewModel;
或者,如果要返回JSON,可以使用JSON视图策略,需要在module.config.php中启用该策略:
'strategies' => array(
'ViewJsonStrategy',
),
然后,在您的操作中,返回一个新的
JsonModel
,而不是ViewModel
,您可以通过ajax返回完整视图,就像通过浏览器位置栏返回完整视图一样。如果您只想返回html,那么只需以通常的方式返回视图模型即可。您可能希望禁用布局,可以通过以下方式完成:
$viewModel = new ViewModel();
$viewModel->setTerminal(true);
return $viewModel;
或者,如果要返回JSON,可以使用JSON视图策略,需要在module.config.php中启用该策略:
'strategies' => array(
'ViewJsonStrategy',
),
然后,在您的操作中,返回一个新的
JsonModel
,而不是ViewModel
附加ViewJsonStrategy将使此事件侦听器在每次请求检查操作输出中的JsonModel时运行
直接返回json内容可以更快、更高效:
return $this->getResponse()->setContent(json_encode($your_data));
如果需要,您还可以将标题行添加到
内容类型:application/json
行。附加ViewJsonStrategy将使此事件侦听器在每次请求检查操作输出中的JsonModel时运行
直接返回json内容可以更快、更高效:
return $this->getResponse()->setContent(json_encode($your_data));
如果需要,还可以将标题行添加到内容类型:application/json
行