2012-04-02 40 views
1

我想獲得POST數據發送到頁面控制器在init()函數,但我得到的是一個空的數組。在zend休息控制器中獲取帖子變量

但是,獲取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());  
    } 
} 

回答

3

你想要什麼是PutHandler插件。這將使POST和PUT使用相同的getParams();

把這個在您的的application.ini

resources.frontController.plugins.putHandler = Zend_Controller_Plugin_PutHandler 

然後數據應該會出現,當你調用

$this->getRequest->getParams(); 
+0

由於它的工作原理:) – debianek 2012-04-02 11:23:42

相關問題