在Magento观察者中获取POST数据

 手机用户2502923607 发布于 2023-01-18 18:13

所以,我正在努力解决这个问题,我有一个观察员设置,以便在客户/帐户/登录被点击时触发.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数据).

2 个回答
  • 而不是控制器使用应用程序

    代替

    Mage::log(print_r($controller->getRequest()->getPost(), true));
    

    改成

    Mage::log(print_r(Mage::app()->getRequest()->getPost(), true));
    

    因此,您使用$ app来获取帖子详细信息,而不是控制器.

    2023-01-18 18:15 回答
  • 使用 Mage::app()->getRequest()->getParams()

    它将返回发送到被调用控制器操作的所有参数的数组

    希望这对你有所帮助

    2023-01-18 18:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有