我有以下代码(请原谅不良编码,就像调试一样):
$postData = Mage::app()->getRequest()->getPost();
if(!$postData)
{
$postData = $this->getRequest()->getPost();
}
if(!$postData)
{
$postData = $_POST;
}
如您所见,我只是想获取HTTP POST值。
以下是该方案:
Shopify以JSON格式发布。
关于我无法捕获POST阵列的任何想法?
答案 0 :(得分:4)
使用简单的JSON
或$_POST
,您无法获得Mage::app()->getRequest()->getPost();
发布值。试试吧,
$value = json_decode(file_get_contents('php://input'));
print_r($value);
答案 1 :(得分:3)
在我的一个项目中,我得到了同样的错误
Mage::app()->getRequest()->getPost();
给出了空白值。
我在提交表单时使用了一个扩展名,但制造商有一个描述字段。
如果文本内容类似来自,选择或某些类似于SQL命令的内容。 它没有发布表单数据。
原因是托管服务提供商有一些设置来清理数据以防止SQL注入。
我将票证提交给托管服务提供商,问题解决了。
在此之前,我尝试了许多不需要的编码。
答案 2 :(得分:1)
基本上
如果您在控制器中,Mage::app()->getRequest()->getPost();
和$this->getRequest()->getPost();
是相同的
它们与$_POST
也是一样的,对值有一些额外的过滤
因此,如果在任何情况下都收到一个空数组,则应该为所有情况收到一个空数组
确保数据通过POST发送
还试着看看$this->getRequest()->getParams()
的样子。也许Magento认为参数是通过_GET