在zend rest控制器中获取post变量

时间:2012-04-02 10:39:16

标签: zend-framework zend-rest

我想在POST函数中将init()数据发送到页面控制器,但我得到的是一个空数组。

但是,获取getRawBody会显示数据。

这是我使用的命令:

curl http://localhost/api/page/7 -X PUT -d "test=true"

,输出为:

  

阵       (       )       测试=真

class Api_PageController extends Zend_Rest_Controller
{
    public function init()
    {
        $this->_helper->viewRenderer->setNoRender();
        $this->_helper->layout->disableLayout();
        print_r($this->getRequest()->getPost());
        print_r($this->getRequest()->getRawBody());    
    }
}

1 个答案:

答案 0 :(得分:3)

你想要的是PutHandler插件。这将使POST和PUT使用相同的getParams();

将此内容放入 application.ini

resources.frontController.plugins.putHandler = Zend_Controller_Plugin_PutHandler

然后,当您致电

时,应显示数据
$this->getRequest->getParams();