在没有布局的情况下从控制器接收回声答案

时间:2012-07-19 11:54:16

标签: php ajax zend-framework

我有这样的事情:

$.ajax({
    type: "POST",
    url: "index/test",
    data: { from: from, to: to }
}).done(function(res) {
    alert(res);
});

并且控制器的答案是:

public function testAction()
{
    echo 555;
}

但问题是,这会返回带有答案echo 555的布局;

如何拒绝呈现布局并仅留下回声答案?

2 个答案:

答案 0 :(得分:2)

在您不想呈现任何视图或布局的操作中,请根据需要使用以下代码行: -

//To disable view rendering
$this->_helper->viewRenderer->setNoRender(true);
//To disable layout
$this->_helper->layout->disableLayout();

例如: -

public function testAction()
{
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender(true);
    echo 555;
}

你可能也不想看看contex switching,尤其是ajaxContext。这是一种更“ZF”的方式,它将自动禁用布局并设置正确的标题。

答案 1 :(得分:0)

您可以通过在控制器操作方法中添加以下代码行来禁用布局

$this->_helper->layout->disableLayout();

 public function testAction()
 {
     $this->_helper->layout->disableLayout();
     echo 555;
 }