[英]Getting POST data in Magento observer
所以,我正在努力解決這個問題,我有一個觀察員設置,以便在客戶/帳戶/登錄被點擊時觸發。 Firebug清楚地表明我正在將數據發布到此URL,並且我無法在觀察者方法中讀取所述POST數據。
觀察者方法:
public function checkCustomerLogin($observer) {
Mage::log("event observed");
$controller = $observer->getControllerAction();
Mage::log(print_r($controller->getRequest()->getPost(), true));
return $this;
}
示例日志結果:
2014-03-11T11:46:38+00:00 DEBUG (7): event observed
2014-03-11T11:46:38+00:00 DEBUG (7): Array
(
)
我的觀察者被配置為在controller_action_predispatch_customer_account_login
上觸發。 很明顯我在這里做錯了,看到我怎么都拿不到我的POST數據(我已經嘗試了一些其他絕望的方法,但從我可以告訴你這是如何“應該”得到一個控制器和觀察者方法中的POST數據)。
使用Mage::app()->getRequest()->getParams()
它將返回發送到被調用控制器操作的所有參數的數組
希望這對你有所幫助
而不是控制器使用應用程序
代替
Mage::log(print_r($controller->getRequest()->getPost(), true));
改成
Mage::log(print_r(Mage::app()->getRequest()->getPost(), true));
因此,您使用$ app來獲取帖子詳細信息,而不是控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.