如何在zend框架2中禁用渲染视图?

Tai*_*i T 16 ajax zend-framework2

我想使用一些ajax,但我不知道如何使用函数与zend框架2中的setNoRender()相同来禁用渲染视图.

如何在zend框架2中禁用渲染视图?

小智 56

"return false"禁用视图而不是布局!为什么?因为接受的类型是:

  • 视图模型
  • 排列
  • 空值

所以"假"禁用视图.

  • 这是一个很好的答案,但为什么返回一个Response对象会禁用布局和视图?真奇怪. (4认同)

Rob*_*len 16

如果您正在使用JSON,请查看视图JsonStrategyJsonModel从您的控制器返回一个.看到这篇文章.

或者,您可以Response从控制器返回一个,并跳过整个视图层:

public function testAction()
{
    $response = $this->getResponse();
    $response->setStatusCode(200);
    $response->setContent('foo');
    return $response;
}   
Run Code Online (Sandbox Code Playgroud)


Cmy*_*ker 9

这样做的正确而简单的解决方案

public function testAction()
{
    $data = array(
        'result' => true,
        'data' => array()
    );
    return $this->getResponse()->setContent(Json::encode($data));
}
Run Code Online (Sandbox Code Playgroud)

详细信息:http://cmyker.blogspot.com/2012/11/zend-framework-2-ajax-return-json.html